2013-02-20 44 views
5

Tôi có một mảng kết hợp đơn giản.PHP: Làm thế nào để in mảng kết hợp sử dụng trong khi vòng lặp?

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

Chỉ sử dụng vòng lặp while, làm cách nào để in trong kết quả này?

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

Đây là giải pháp hiện tại của tôi nhưng tôi nghĩ đây không phải là cách hiệu quả nhất để làm điều đó?

<?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 />'; 
}; 
?> 

Cảm ơn.

+0

như thế này: 'foreach ($ arr as $ key => $ value) {..}'? – SuperSaiyan

+0

Tại sao bạn chỉ yêu cầu trong khi vòng lặp? –

+0

kiểm tra câu trả lời của tôi mate nó hoàn toàn như thế nào bạn muốn ........ –

Trả lời

8

thử cú pháp này và đây là cách hiệu quả nhất để làm công việc của bạn ...........

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

?> 

Đối reference xin vui lòng kiểm tra liên kết này ...... ...

Nhỏ Example liên kết tại đây ...

+0

Cảm ơn. Đây là những gì tôi đang tìm kiếm :) Tôi không sử dụng trong khi vòng lặp nhiều trong các dự án của tôi, chỉ cho và vòng lặp foreach. – marknt15

3

Cách tốt nhất và dễ nhất để lặp qua một mảng được sử dụng foreach

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

OP là aking in chúng bằng cách sử dụng trong khi vòng lặp và không 'foreach' chức năng. –

+0

ông hỏi trong khi vòng lặp không foreach .......... –

+0

không có nhiều sự khác biệt giữa trong khi và foreach. Kết quả cuối cùng sẽ giống nhau. – Aris

1

Hãy thử điều này;

$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 />'; 
}; 
Các vấn đề liên quan