nhìn lúc này:chìa khóa php() trong hành vi foreach vòng lặp kỳ lạ HOẶC lấy chìa khóa tiếp theo trong vòng lặp foreach
<?php
$array = array('a' => '…', 'b' => '…', 'c' => '…', 'd' => '…', 'e' => '…', 'f' => '…');
foreach ($array as $key => $val){
echo "current key: $key, next key: ".key(($array))."<br>";
}
?>
OUTPUT:
current key: a, next key: b
current key: b, next key: c
current key: c, next key: d
current key: d, next key: e
current key: e, next key: f
current key: f, next key: a
Tôi đang tìm kiếm một chức năng để có được khóa tiếp theo của một mảng kết hợp trong vòng lặp foreach. tôi đã thử một chút và đột nhiên nó hoạt động. (như bạn có thể thấy trong ví dụ của tôi).
NHƯNG TẠI SAO NÀY LÀM VIỆC? Nó có ý nghĩa không? ... không phải với tôi! Bạn có thể giải thích điều này cho tôi không?
Đó là vì phần key(($array))
nhưng tại sao? tôi có nghĩa là .. đó là một sai lầm .. tôi muốn viết key($array)
nhưng tôi quên xóa 2 dấu ngoặc gói. Vì vậy, đó là trùng hợp ngẫu nhiên !!!
Tại sao nó hoạt động theo cách này? ý tôi là, nó tốt nhưng ... ????
Thú vị. Nếu bạn bật báo cáo lỗi, bạn sẽ thấy nhiều lỗi. Các dấu ngoặc phụ đang phá vỡ tham chiếu biến trực tiếp. '$ a' là một biến,' ($ a) 'là một biểu thức dẫn đến giá trị * của' $ a'. 'key' mong đợi một biến được chuyển bởi tham chiếu. Bạn không chắc chắn chính xác 'khóa' nào thực hiện với điều đó và tại sao nó hoạt động theo cách nó hoạt động, nhưng tôi sẽ tập tin này theo hành vi sai, không xác định. – deceze
whoa, nếu đây là hành vi dự định tuyệt vời. Đã có rất nhiều lần tôi có thể đã sử dụng một cái gì đó như thế này. –
nhưng bạn gợi ý điều gì? tôi sẽ giữ nó theo cách đó? –