![](/img/trans.png)
[英]Loop through a two-dimensional array with actions on change of a value in a column
[英]Loop through a two-dimensional array
我有一个看起来像这样的数组:
$array = array(
array(
"http://google.com",
"Google"
),
array(
"http://yahoo.com",
"Yahoo"
)
);
循环遍历它的最简单方法是什么。 就像是:
foreach ($array as $arr) {
// help
}
编辑:我如何定位键,例如,我想做:
foreach ($array as $arr) {
echo '<a href" $key1 ">';
echo ' $key2 </a>';
}
使用嵌套的foreach()
因为它是二维数组。 示例在这里
foreach($array as $key=>$val){
// Here $val is also array like ["Hello World 1 A","Hello World 1 B"], and so on
// And $key is index of $array array (ie,. 0, 1, ....)
foreach($val as $k=>$v){
// $v is string. "Hello World 1 A", "Hello World 1 B", ......
// And $k is $val array index (0, 1, ....)
echo $v . '<br />';
}
}
首先foreach()
$val
也是一个数组。 所以使用了嵌套的foreach()
。 在第二个foreach()
$v
是字符串。
根据您的需求更新
foreach($array as $val){
echo '<a href="'.$val[0].'">'.$val[1].'</a>';
}
为了回显这些位,您必须在每个数组中选择它们的索引 -
foreach($array as $arr){
echo '<a href="'.$arr[0].'">'.$arr[1].'</a>';
}
这是一个例子。
遍历它的最简单方法是:
foreach ($array as $arr) {
foreach ($arr as $index=>$value) {
echo $value;
}
}
编辑:
如果你知道你的数组总是只有两个索引,那么你可以试试这个:
foreach ($array as $arr) {
echo "<a href='$arr[0]'>$arr[1]</a>";
}
首先像这样修改你的变量:
$array = array(
array("url"=>"http://google.com",
"name"=>"Google"
),
array("url"=>"http://yahoo.com",
"name"=>"Yahoo"
));
然后你可以像这样循环:
foreach ($array as $value)
{
echo '<a href='.$value["url"].'>'.$value["name"].'</a>'
}
循环的方法是,
foreach($array as $arr)
foreach($arr as $string) {
//perform any action using $string
}
使用第一个不带{ }
foreach 循环以实现最简单的使用。
这可能是根据您的请求使用嵌套数组的最简单方法。
对于您编辑的问题。
使用密钥的数组声明错误。
$array = array(
"http://google.com" => "Google",
"http://yahoo.com" => "Yahoo" );
然后,使用以下内容。
foreach ($array as $key => $value)
echo "<a href='{$key}'>{$value}</a>";
这不会降低服务器的性能。
在现代版本的 php 中,您可以为您选择的变量分配(解构)子数组值。
一个很好的教程: https : //stitcher.io/blog/array-destructuring-with-list-in-php
代码:(演示)
$array = [
["http://example1.com", "Example 1"],
["http://example2.com", "Example 2"]
];
foreach ($array as [$key1, $key2]) {
echo "<a href=\"$key1\">$key2</a>\n";
}
输出:
<a href="http://example1.com">Example 1</a>
<a href="http://example2.com">Example 2</a>
老实说,我可能会分别命名变量$url
和$text
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.