我有一个如下所示的数组:
$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>';
}
答案 0 :(得分:9)
为了回显这些位,你必须在每个数组中选择它们的索引 -
foreach($array as $arr){
echo '<a href="'.$arr[0].'">'.$arr[1].'</a>';
}
这是example。
答案 1 :(得分:6)
使用嵌套foreach()
,因为它是2D数组。这里的例子
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>';
}
答案 2 :(得分:4)
循环使用它的最简单方法是:
foreach ($array as $arr) {
foreach ($arr as $index=>$value) {
echo $value;
}
}
修改强>:
如果你知道你的数组总是只有两个索引,那么你可以试试这个:
foreach ($array as $arr) {
echo "<a href='$arr[0]'>$arr[1]</a>";
}
答案 3 :(得分:2)
循环的方法是,
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>";
这并不会降低服务器的性能。
答案 4 :(得分:2)
首先像这样修改变量:
$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>'
}
答案 5 :(得分:0)
在现代版本的php中,您可以为所选择的变量分配(解构)子数组值。
代码:(Demo)
Ecto.Multi
输出:
$array = [
["http://example1.com", "Example 1"],
["http://example2.com", "Example 2"]
];
foreach ($array as [$key1, $key2]) {
echo "<a href=\"$key1\">$key2</a>\n";
}