2010-08-04 26 views
13

Đây là một mảng tôi cóvang quan trọng và giá trị của một mảng không và với vòng lặp

<?php 
$page['Home']='index.html'; 
$page['Service']='services.html'; 
?> 

Làm thế nào để tôi nhận được để echo một cái gì đó như thế này cho cá nhân một mặt hàng như

Home is at index.html 

và một lần nữa như thế nào tôi có thể làm điều này thông qua một vòng lặp và echo tất cả?

+0

thấy [ 'foreach'] (http://php.net/foreach). – Artefacto

+1

http://www.google.de/search?q=php+loop+array và http://www.php.net/manual/en/language.control-structures.php. Đọc tài liệu giúp rất nhiều. –

Trả lời

45
foreach($page as $key => $value) { 
    echo "$key is at $value"; 
} 

Phiên bản 'không có vòng lặp' Tôi sẽ hỏi "tại sao?"

+1

Điều này là tốt ... chỉ muốn biết nếu nó có thể để có được một giá trị cá nhân bằng cách giới thiệu nó là 0 hoặc 1 vv ... Tôi vừa mới bắt đầu với những chất liệu này. Cảm ơn nhiều!! – esafwan

+2

đó là một điều rất phổ biến thực sự, để giải quyết một mục mảng riêng lẻ. –

+0

Ồ, OK. Tôi hiểu câu hỏi của bạn là 'cách để echo tất cả các phần tử khóa-giá trị từ một mảng mà không sử dụng vòng lặp' - đó là điều ngớ ngẩn để làm IMHO (trừ khi sử dụng array_walk như KennyTM đã làm). – Mchl

2
function displayArrayValue($array,$key) { 
    if (array_key_exists($key,$array)) echo "$key is at ".$array[$key]; 
} 

displayArrayValue($page, "Service"); 
4

cho câu hỏi đầu tiên

$key = 'Home'; 
echo $key." is at ".$page[$key]; 
+0

Đơn giản và rõ ràng. – Boris

9

Nếu không có một vòng lặp, chỉ cần cho đá của nó ...


Bạn có thể chuyển đổi mảng thành một phi kết , bằng cách thực hiện:

$page = array_values($page); 

Và n acessing mỗi phần tử của nó là zero-based index:

echo $page[0]; // 'index.html' 
echo $page[1]; // 'services.html' 

Hoặc bạn có thể sử dụng một phiên bản hơi phức tạp hơn:

$value = array_slice($page, 0, 1); 

echo key($value); // Home 
echo current($value); // index.html 

$value = array_slice($page, 1, 1); 

echo key($value); // Service 
echo current($value); // services.html 
+0

Câu trả lời hay cho 'mảng_values' – Thamaraiselvam

2

chính Echo và giá trị của một mảng không và với vòng lặp

$array = array(
      'kk6NFKK'=>'name', 
      'nnbDDD'=>'claGg', 
      'nnbDDD'=>'kaoOPOP', 
      'nnbDDD'=>'JWIDE4', 
      'nnbDDD'=>'lopO' 
     ); 


print_r(each($array)); 

Đầu ra

Array 
(
    [1] => name 
    [value] => name 
    [0] => kk6NFKK 
    [key] => kk6NFKK 
) 
0

Làm thế nào để echo giá trị then chốt và của một mảng không và với vòng lặp

$keys = array_keys($page); 
implode(',',$keys); 
echo $keys[0].' is at '.$page['Home']; 
0

Một chức năng đệ quy cho một sự thay đổi;) Tôi sử dụng nó để sản xuất các thông tin truyền thông cho video vv yếu tố trong đó có thể sử dụng mảng lồng nhau/thuộc tính.

function custom_print_array($arr = array()) { 
    $output = ''; 
    foreach($arr as $key => $val) { 
     if(is_array($val)){ 
      $output .= '<li><strong>' . ucwords(str_replace('_',' ', $key)) . ':</strong><ul class="children">' . custom_print_array($val) . '</ul>' . '</li>'; 
     } 
     else { 
      $output .= '<li><strong>' . ucwords(str_replace('_',' ', $key)) . ':</strong> ' . $val . '</li>'; 
     } 
    } 
    return $output; 

}

Các vấn đề liên quan