我有以下数组,通过使用 array_push & 我得到的结果不正确。
数组:
Array
(
[0] => 1039
[1] => 417
[2] => 418
)
数组推送:
array_push($array, array("a","b","c"));
结果:
Array
(
[0] => 1039
[1] => 417
[2] => 418
[3] => Array
(
[0] => a
[1] => b
[2] => c
)
)
例如,我希望将 a、b、c 附加到值 417。
不良结果:
Array
(
[1039] => 1039
[417] => Array
(
[0] => a
[1] => b
[2] => c
)
[418] => 418
)
如何做到这一点?
解决方案:
$data = Array (
0 => 1039,
1 => 417,
2 => 418,
);
foreach( $data as $key => $val ) {
$new_data[$val] = 0;
}
foreach( $new_data as $k => $v ){
if( $k == 417 ){
$new_data[$k] = array( 'p' => 50, 'pp' => 75 );
}
}
print_r($new_data);
最佳答案
这并没有什么意义,但这将完成您在示例中显示的内容:
$array[1] .= print_r(array("a","b","c"), true);
.=
进行字符串连接,并将 true
作为第二个参数传递给 print_r
使其返回它本应打印的字符串。
这样做的结果是 $array[1]
是一个以 417
开头的字符串,后面是所添加数组的打印表示形式。那里没有实际的数组。我不确定你打算用这个做什么,但它符合你的例子。
关于php - 将键附加到现有数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20625879/