如何将字符串值添加到php数组中

时间:2011-03-28 11:05:31

标签: php

当我通过array_push()将一个字符串值添加到数组中时,它给出了一个数值,即

$array=array("one","two","three");
$array2=array("test","test2");
foreach($array as $value){
    if($value==='one'){
        $push=array_push($array2, $value);
    }
}
print_r($push);

输出为3。我想要的是$array2 = array("test","test2","one")

6 个答案:

答案 0 :(得分:11)

array_push正在为其设计。

它将添加该值并返回该数组中元素的数量。

所以很自然,如果它返回3你的数组在数组推送后有2个元素,现在有三个元素。

你应该print_r($array2)你的数组并查看元素。

答案 1 :(得分:6)

这一行:

$push = array_push($array2, $value);

应该只是

array_push($array2, $value);

array_push()使用对数组的引用作为第一个参数。当您print_r()时,打印数组$array2,而不是$push

答案 2 :(得分:3)

您正在打印返回值array_push,这是推送后数组中的项目数。试试这个:

<?php

$array = array("one","two","three");
$array2 = array("test","test2");

foreach ($array as $value) {
    if ($value === 'one') {
       array_push($array2, $value);
    }
}

print_r($array2);

答案 3 :(得分:0)

array_push修改$ array2。 $ push包含count($ array2)。

检查http://php.net/array_push

答案 4 :(得分:0)

array_push通过引用获取数组并返回数组中新的元素数,而不是here所述的新数组。这就是你得到3的原因。如果你想看到数组中的元素,请使用printr($array2);

答案 5 :(得分:0)

实际上,您应该使用$array2[] = $value;,它会将值放在数组中的第一个可用数字键中,而不是array_push()

要获取数组中最后一个元素的值(即刚刚添加的内容)并保持数组完整,请使用end($array),或者获取最后一个元素并将其从数组中删除,使用{{1 }}