在另一个数组中调用数组元素

时间:2014-11-13 14:35:26

标签: php arrays

我认为这是一个天真的问题,但我找不到合适的语法。

我有这段代码:

for ($i=1; $i<count($MyArray1); $i++){
    $element=$MyArray1[$i];
    $foo = $AnotherArray[$element];
    echo $foo;
}

如何跳过第二行?我的意思是,第三行是

$foo = $AnotherArray[$MyArray1[$i]];

2 个答案:

答案 0 :(得分:0)

for ($i=1; $i<count($MyArray1); $i++){
    echo $AnotherArray[$MyArray1[$i]];
}

答案 1 :(得分:0)

您可以跳过相当数量的代码,以使其更清晰一些。首先使用foreach代替for,因为它是一种更可靠的迭代数组的方法。其次,我已经分解了你想要做的事情,简化你如何获得它。基本上使用一个数组的值作为另一个数组的键。那么如何分三行:

foreach(array_intersect_key($AnotherArray, array_flip($MyArray1)) as $value) {
    echo $value;
}

这是使用优秀的array_intersect_key方法从$AnotherArray中获取与其他数组中匹配的键的所有值。如果您想使用这些值,我们使用array_flip来交换键和值,然后循环遍历结果并回显它。