Php 根据数组数量循环遍历数组和输出链接

Php 根据数组数量循环遍历数组和输出链接,php,arrays,loops,foreach,associative-array,Php,Arrays,Loops,Foreach,Associative Array,我目前有一个数组,如下所示: Array ( [0] => Array ( [id] => 34 [another_id] => 2805 [third_id] => 1 ) [1] => Array ( [id] => 35 [another_id] => 2805 [third_id] => 1 ) [2] => Array ( [id] => 36 [another_id] => 2805

我目前有一个数组,如下所示:

   Array ( 
    [0] => Array ( [id] => 34 [another_id] => 2805 [third_id] => 1 ) 
    [1] => Array ( [id] => 35 [another_id] => 2805 [third_id] => 1 ) 
    [2] => Array ( [id] => 36 [another_id] => 2805 [third_id] => 1 ) 
    [3] => Array ( [id] => 37 [another_id] => 2805 [third_id] => 1 ) 
    [4] => Array ( [id] => 38 [another_id] => 2805 [third_id] => 1 ) 
    [5] => Array ( [id] => 39 [another_id] => 2805 [third_id] => 1 ) 
    [6] => Array ( [id] => 40 [another_id] => 2805 [third_id] => 2 ) 
    [7] => Array ( [id] => 41 [another_id] => 2805 [third_id] => 2 )
    [8] => Array ( [id] => 42 [another_id] => 2805 [third_id] => 2 ) 
    [9] => Array ( [id] => 43 [another_id] => 2805 [third_id] => 2 )
 )

我需要做的是最终打印出9个链接(因为有9个数组元素),但基于数组中的键。例如:

www.samplelink/link/id/another_id/third_id
但我似乎无法正确地进行循环。到目前为止,我得到的是:

foreach ($array as $arr) {
  foreach ( $arr as $key => $value ) {
    echo "<a>www.samplelink/link/".$key[$value]."</a>";
  }
}
foreach($array as$arr){
foreach($arr作为$key=>$value){
echo“www.samplelink/link/”$key[$value]。”;
}
}

但这并不完全是我所需要的,因为它也打印出了钥匙。有人知道我能做什么吗?

如果子阵列中的元素总是以相同的顺序排列,您可以
内爆它们:

foreach ($array as $arr) {
    echo "<a>www.samplelink/link/".implode('/', $arr)."</a>";
}
foreach($array as$arr){
echo“www.samplelink/link/”。内爆(“/”,$arr)。”;
}

否则,您应该明确指出索引将位于哪个位置,如Danyal Sandelo的回答。

$value
将在每次迭代中保存内部数组

 foreach ($array as $innerArray) {
  echo "<a>www.samplelink/link/".$innerArray['id']."/".$innerArray['another_id']."/".$innerArray['third_id']."</a>";
 }
foreach($array as $value) {
  $link = '//www.samplelink/link/'.$value['id'].'/'.$value['another_id'].'/'.$value['third_id']
  echo '<a>'.$link.'</a>';
}
foreach($array作为$value){
$link='//www.samplelink/link/'.$value['id']./'.$value['other\u id']./'.$value['third\u id']
回显“.$link.”;
}
您可以执行以下操作:

foreach ($array as $arr) {
    echo "<a>www.samplelink/link/" . $arr['id'] . '/' . $arr['another_id'] . '/' . $arr['third_id'] . "</a>";
}
foreach($array as$arr){
echo“www.samplelink/link/”$arr['id']./'.$arr['other_-id'.]./'.$arr['third_-id'.]。”;
}
或者,如果您的子数组始终以正确的顺序保存ID,并且只保存相关的ID:

foreach ($array as $arr) {
    echo "<a>www.samplelink/link/" . implode('/', $arr) . "</a>";
}
foreach($array as$arr){
echo“www.samplelink/link/”。内爆(“/”,$arr)。”;
}

“我需要做的是最终打印出9个链接(因为有9个数组元素)”不,有10个!编程的第一条规则:数组从0开始我花了大约10分钟才意识到我是从0开始数账单的,每个人都感到困惑time@Phiter不,这取决于编程语言!哦,我的天哪,到底是什么?人们真的不知道如何遵循标准,是吗?当我不确定数组键是否存在时,我使用以下命令:
$arr['key']??“”
。它的作用与isset()相同,并且不会引发错误。当然,这只是PHP7。array key exists检查数组中是否存在该键。在您的情况下,如果数组不包含密钥,它将崩溃。有关更多信息,请阅读以下内容:
foreach ($array as $arr) {
    echo "<a>www.samplelink/link/" . $arr['id'] . '/' . $arr['another_id'] . '/' . $arr['third_id'] . "</a>";
}
foreach ($array as $arr) {
    echo "<a>www.samplelink/link/" . implode('/', $arr) . "</a>";
}