数组推送无法正常工作

时间:2015-11-16 15:50:50

标签: php

我使用array_push在特定key位置向阵列添加元素,请检查我的代码:

foreach($query as $key)
{
    $appointment['id_services'] = array_push($appointment,$key['id_services']);
}

print_r($appointment['id_services']);

现在$query在我的情况下包含两个数组,我遍历$query变量并取两个id_services返回的值为:1413 。无论如何,当我打印appointment['id_services]数组索引时,我得到:16,但为什么呢?它应该在appointment['id_services]中使用以下结构创建另一个数组:

[0] => 14
[1] => 13

我需要推动元素不要覆盖它。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我认为你不需要将它分配给任何东西。这只是一个函数调用:

<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>

有关详细信息,请参阅the manual

答案 1 :(得分:0)

您还可以使用[]运算符追加(推送)到数组。只需这样做:

foreach ( $query as $key )
    $appointment['id_services'][] = $key['id_services'];

print_r( $appointment['id_services'] );

这会将$key['id_services']的值推送到$appointment['id_services']数组。

或者,使用array_push(返回数组的新大小):

foreach ( $query as $key )
    array_push( $appointment['id_services'], $key['id_services'] );