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>";
}