Php 关联数组组合的嵌套foreach循环
我有一个关联数组,如下所示:Php 关联数组组合的嵌套foreach循环,php,arrays,associative-array,Php,Arrays,Associative Array,我有一个关联数组,如下所示: $myarray = array('a'=>array(), 'b'=>array(), 'c'=>array(), 'd'=>array()); 我希望能够获得数组中的所有元素对。如果不是关联数组,我会使用嵌套for循环,如: for($i=0; $i<count($myarray); $i++) { for($j=$i+1; $j<count($myarray); $j++) { do_something($my
$myarray = array('a'=>array(), 'b'=>array(), 'c'=>array(), 'd'=>array());
我希望能够获得数组中的所有元素对。如果不是关联数组,我会使用嵌套for循环,如:
for($i=0; $i<count($myarray); $i++) {
for($j=$i+1; $j<count($myarray); $j++) {
do_something($myarray[$i], $myarray[$j]);
}
}
for($i=0;$iarray_values()函数返回一个包含所有值的整数索引数组,因此您可以使用它来获取一个列表,可以使用for进行迭代
否则,您可以通过以下方式“销毁”阵列:
while($k = array_pop($my_array)) {
foreach($my_array as $j){
do_something($k, $j);
}
}
尝试:
$keys=array\u keys($myarray);
$c=计数($myarray);
foreach($k=>$key1){
对于($i=$k+1;$i<$c;$i++){
dosomething($myarray[$key1],$myarray[$keys[$i]]);
}
}
关联数组的键是否以任何方式排序?谢谢,我想这给了我所需的线索。我使用了array_keys()而不是array_values(),然后使用两个嵌套for循环循环遍历键。成功!:)
$keys = array_keys($myarray);
$c = count($myarray);
foreach ($keys as $k => $key1) {
for ($i = $k + 1; $i < $c; $i ++) {
dosomething($myarray[$key1], $myarray[$keys[$i]]);
}
}