Loop através de uma matriz bidimensional

Eu tenho uma matriz que se parece com isto:

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

Qual é a maneira mais simples de percorrê-lo. Algo como:

 foreach ($array as $arr) { // help } 

EDITAR: Como eu segmento chaves, por exemplo, eu quero fazer:

 foreach ($array as $arr) { echo ''; echo ' $key2 '; } 

Para ecoar os bits, você precisa selecionar seu índice em cada matriz –

 foreach($array as $arr){ echo ''.$arr[1].''; } 

Aqui está um exemplo .

Use foreach() nested foreach() porque é uma matriz 2D. Exemplo aqui

 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 . '
'; } }

No primeiro foreach() $val também é uma matriz. Então, um foreach() nested foreach() é usado. No segundo foreach() $v é string.

Atualizado de acordo com sua demanda

 foreach($array as $val){ echo ''.$val[1].''; } 

A maneira mais fácil de percorrê-lo é:

 foreach ($array as $arr) { foreach ($arr as $index=>$value) { echo $value; } } 

EDITAR :

Se você sabe que sua matriz terá sempre apenas dois índices, então você pode tentar isso:

 foreach ($array as $arr) { echo "$arr[1]"; } 

A maneira de percorrer é,

 foreach($array as $arr) foreach($arr as $string) { //perform any action using $string } 

Use o primeiro loop foreach sem { } para o uso mais simples .

Esse pode ser o método mais simples para usar uma matriz aninhada conforme sua solicitação.

Para sua pergunta editada.

Declaração incorreta de matriz para usar a chave.

 $array = array( "http://google.com" => "Google", "http://yahoo.com" => "Yahoo" ); 

E então, use o seguinte.

 foreach ($array as $key => $value) echo "{$value}"; 

Isso não diminui o desempenho do seu servidor.