Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从不同的数组中获取值_Php_Arrays - Fatal编程技术网

Php 从不同的数组中获取值

Php 从不同的数组中获取值,php,arrays,Php,Arrays,我刚开始学习PHP,在寻找从外部站点发送的多个数组中输出值的方法时遇到了一些困难 我做了一个foreach,打印的代码如下所示: Array ( [id] => 1 [title] => Title 1 ) Array ( [id] => 2 [title] => Title 2 ) Array ( [id] => 3 [title] => Title 3 ) 你知道我如何在回声中获得每个id(1,2,3)吗?

我刚开始学习PHP,在寻找从外部站点发送的多个数组中输出值的方法时遇到了一些困难

我做了一个foreach,打印的代码如下所示:

Array
(
    [id] => 1
    [title] => Title 1
)
Array
(
    [id] => 2
    [title] => Title 2
)
Array
(
    [id] => 3
    [title] => Title 3
)
你知道我如何在回声中获得每个id(1,2,3)吗? 如果您需要更多信息,请告诉我

非常感谢

您可以这样做:

$array = array_merge_recursive($arr1, $arr2, $arr3);
var_dump($newArray['id']);
echo implode(",", $newArray['id']);

A

如果您只想回显所有阵列中的所有id,一个简单的解决方案是:

foreach ([$array1, $array2, $array3] as $arr) {
    echo $arr['id'];
}
更好的解决方案可能是首先创建一个主阵列:

$mainArray = [];
每次获得一个新阵列时,只需将它们推送到主阵列:

$mainArray[] = $array1;
$mainArray[] = $array2;
// ... and so on
然后,您将拥有一个多维数组,并可以使用以下内容循环它们:

foreach ($mainArray as $arr) {
    echo $arr['id'];
}
哪种解决方案最有效取决于如何获得阵列以及阵列的数量


注意:使用其他人建议的
array\u merge()
在这种情况下不起作用,因为所有数组都有相同的键。在array_merge()的文档中:“如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个值。”

您可以尝试使用array_merge函数,谢谢Magnus!第一个解决方案成功了。我将继续探索和测试您的其他选择。@JoeMecPak-两种解决方案基本上是一样的。如果只有几个固定数量的数组,那么第一个就足够了,因为它不需要创建额外的变量。