Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在二维数组中循环_Php_Arrays_Loops_Foreach - Fatal编程技术网

Php 在二维数组中循环

Php 在二维数组中循环,php,arrays,loops,foreach,Php,Arrays,Loops,Foreach,我有一个如下所示的数组: $array = array( array( "http://google.com", "Google" ), array( "http://yahoo.com", "Yahoo" ) ); $array = array( array("url"=>"http://google.com", "name"=>"

我有一个如下所示的数组:

$array = array(
    array(
        "http://google.com",
        "Google"
    ),

    array(
        "http://yahoo.com",
        "Yahoo"
    )
);
$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) {
    // help
}
编辑:如何定位关键点,例如,我要执行以下操作:

foreach ($array as $arr) {
    echo '<a href" $key1 ">';
    echo ' $key2 </a>';
}
foreach($array as$arr){
回声';
}
使用嵌套的
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 ($array as $arr) {
    foreach ($arr as $index=>$value) {
        echo $value;
    }
}
编辑

如果知道数组始终只有两个索引,则可以尝试以下方法:

foreach ($array as $arr) {
    echo "<a href='$arr[0]'>$arr[1]</a>";
}
foreach($array as$arr){
回声“;
}

循环的方式是

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>";
foreach($key=>$value的数组)
回声“;

这不会降低服务器的性能。

为了回显位,您必须在每个数组中选择它们的索引-

foreach($array as $arr){
    echo '<a href="'.$arr[0].'">'.$arr[1].'</a>';
}
foreach($array as$arr){
回声';
}

下面是一个示例。

首先修改变量,如下所示:

$array = array(
    array(
        "http://google.com",
        "Google"
    ),

    array(
        "http://yahoo.com",
        "Yahoo"
    )
);
$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>'
}
然后你可以这样循环:

$array = array(
    array(
        "http://google.com",
        "Google"
    ),

    array(
        "http://yahoo.com",
        "Yahoo"
    )
);
$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作为$value)
{ 
回声“
}

在现代版本的php中,您可以为选择的变量分配(解构)子数组值

好的教程:

代码:()

$array=[
["http://example1.com“,“示例1”],
["http://example2.com“,“示例2”]
];
foreach($array as[$key1,$key2]){
回音“\n”;
}
输出:

<a href="http://example1.com">Example 1</a>
<a href="http://example2.com">Example 2</a>


老实说,我可能会将变量分别命名为
$url
$text

但如何定位键?例如,我想在foreach循环中的某个位置添加$key1,在其他位置添加$key2。请参阅我更新的问题,了解我尝试执行的操作的解释。我如何定位一个键?例如,我想在foreach循环中的某个地方添加$key1,在其他地方添加$key2。请参阅我更新的问题以了解我的请求的解释。但是我如何定位这些键?请查看我编辑的答案。您想使用foreach密钥还是最简单的for循环版本?最简单的循环方式,请查看我更新的数组以了解我正在尝试执行的操作。是否可以@HenrikPetterson?这是考虑服务器性能时的最佳方法?顺便说一下,谢谢你的更新!你所说的
$key1
$key2
是什么意思?@请查看我更新的数组,它会更有意义。我觉得你的设计很奇怪。为什么您希望这些值使用2D数组而不是类似的东西:$array=array(“Google”=>,“Yahoo”=>”;