当前位置: 首页 > 面试题库 >

无法在PHP中串联2个数组

甘兴学
2023-03-14
问题内容

我最近学习了如何在PHP中使用+运算符连接2个数组。

但是考虑一下这段代码

$array = array('Item 1');

$array += array('Item 2');

var_dump($array);

输出是

array(1){[0] =>字符串(6)“项目1”}

为什么这不起作用?跳过速记并使用$array = $array + array('Item 2')也不起作用。它与按键有关吗?


问题答案:

两者都有一个键0,并且组合数组的方法将折叠重复项。尝试array_merge()改为使用。

$arr1 = array('foo'); // Same as array(0 => 'foo')
$arr2 = array('bar'); // Same as array(0 => 'bar')

// Will contain array('foo', 'bar');
$combined = array_merge($arr1, $arr2);

如果数组中的元素使用不同的键,则+运算符会更合适。

$arr1 = array('one' => 'foo');
$arr2 = array('two' => 'bar');

// Will contain array('one' => 'foo', 'two' => 'bar');
$combined = $arr1 + $arr2;

编辑:添加了一个代码片段来阐明



 类似资料:
  • 问题内容: 尊敬的Java专家! 您能否解释一下,为什么在串联2个三进制运算符的结果时String串联不能在Java中正常工作? 例: 输出为“ D”,但我希望为“ BC”。 由于运营商的优先考虑,我怀疑它的工作原理是这样,但是我不确定在上述情况下我们究竟如何得到“ D”。在这种情况下会发生什么计算算法? 问题答案: 它被解释为以下代码: 不为null,因此将被评估为 借助OSborn的答案,您可

  • 我当前有一个Get变量 我正尝试将其添加到sql语句中,如下所示: 然后运行 我得到一个无效的列名。但这是没有意义的,因为如果我手动将请求这样放入 我获取列数据,只是当我将其作为get变量输入时没有。我做错了什么。我对PDO比较陌生。 更新:现在我有以下内容: 而且 但我得到了

  • 问题内容: 我正在尝试使用示例php代码模拟此错误,但尚未成功。任何帮助都会很棒。 “不能将字符串偏移量用作数组” 问题答案: 对于PHP4 …这重现了错误: 对于PHP5 …这重现了错误: (实际上来自bugs.php.net) 编辑, 因此,即使是字符串,为什么错误也不会出现在第一个if条件中。 因为PHP是一种非常宽容的编程语言,所以我猜。我将用代码说明我的想法:

  • 问题内容: 我需要知道是否可以连接字符串,如下所示?如果没有,那么还有什么选择呢? 它应该看起来像人等。 您不能在串联中使用符号,那么替代方法是什么? 问题答案: 仅用于连接。而您错过了增量!

  • 我需要从表单接收的值创建一个DateTime。问题是这个值像一个字符串一样被接收:“2016-10-10T08:29:06.959Z”,我需要接收像没有引号,因为如果我用引号接收,我就有下一个错误: DateTime::__construct():无法解析位置0()的时间字符串("2016-10-14T22:00:00.000Z"):意外字符 当我尝试将值转换为DateTime时,使用: 如果我尝

  • 问题内容: 我想知道如何在Java中连接4个字符串数组。 已经有一个问题了。 如何在Java中连接两个数组? 但是我试图复制它,但是它对我不起作用。 这是我的代码如下所示: 调用方法: 方法本身: 问题答案: 抛开诸如检查数组是否为的事情null,您可以为其创建通用方法,并在您的特定情况下使用它,如下所示: