2013-02-20 20 views
5

Mam prostą tablicę asocjacyjną.PHP: Jak wydrukować tablicę asocjacyjną za pomocą pętli while?

<?php 
$assocArray = array('a' => 1, 'b' => 2, 'c' => 3); 
?> 

Używając tylko pętli while, jak mogę ją wydrukować w tym wyniku?

$a = 1 
$b = 2 
$c = 3 

To jest moje obecne rozwiązanie, ale myślę, że nie jest to najlepszy/najlepszy sposób na zrobienie tego?

<?php 
$assocArray = array('a' => 1, 'b' => 2, 'c' => 3); 
$keys = array_keys($assocArray); 
rsort($keys); 

while (!empty($keys)) { 
    $key = array_pop($keys); 
    echo $key . ' = ' . $assocArray[$key] . '<br />'; 
}; 
?> 

Dzięki.

+0

tak: 'foreach ($ arr jako $ klucz => wartość $) {..}'? – SuperSaiyan

+0

Dlaczego potrzebujesz tylko pętli while? –

+0

Sprawdź mój kolega Odpowiedź jest idealnie, jak chcesz ........ –

Odpowiedz

8

spróbować tej składni i jest to najlepszy skuteczny sposób wykonywać swoją pracę ...........

while (list($key, $value) = each($array_expression)) { 
     statement 
} 

<?php 


$data = array('a' => 1, 'b' => 2, 'c' => 3); 

print_r($data); 

while (list($key, $value) = each($data)) { 
     echo '$'.$key .'='.$value; 
} 

?> 

Dla reference sprawdź ten link ...... ...

Mały Example Link tutaj ...

+0

Dzięki. Tego właśnie szukam :) Nie używam pętli while w moich projektach, tylko w pętli for i foreach. – marknt15

3

Najlepszym i najprostszym sposobem na pętli poprzez tablicę używa foreach

foreach ($assocArray as $key => $value) 
     echo $key . ' = ' . $value . '<br />'; 
+0

OP próbuje je wydrukować za pomocą pętli while, a nie funkcji 'foreach'. –

+0

on pyta, podczas gdy pętla nie foreach .......... –

+0

nie ma dużej różnicy między czasem i foreach. Wynik końcowy będzie taki sam. – Aris

1

Spróbuj tego;

$assocarray = array('a' => 1, 'b' => 2, 'c' => 3); 
$keys = array_keys($assocarray); 
rsort($keys); 
while (!empty($keys)) { 
    $key = array_pop($keys); 
    echo $key . ' = ' . $assocarray[$key] . '<br />'; 
}; 
Powiązane problemy