echo和不带和带循环的数组的值

esa*_*wan 23 php arrays echo

这是我的阵列

<?php
$page['Home']='index.html';
$page['Service']='services.html';
?>
Run Code Online (Sandbox Code Playgroud)

我怎样才能像个人一样回应这样的事情

Home is at index.html
Run Code Online (Sandbox Code Playgroud)

又如何通过循环和回声全部做到这一点?

Mch*_*chl 67

foreach($page as $key => $value) {
  echo "$key is at $value";
}
Run Code Online (Sandbox Code Playgroud)

对于'无循环'版本,我只会问"为什么?"

  • 实际上,这是一个非常普遍的事情,单独解决数组项目. (2认同)

Ali*_*xel 11

没有循环,只是为了它的踢...


您可以通过执行以下操作将数组转换为非关联数组:

$page = array_values($page);
Run Code Online (Sandbox Code Playgroud)

然后通过它的零基索引来访问每个元素:

echo $page[0]; // 'index.html'
echo $page[1]; // 'services.html'
Run Code Online (Sandbox Code Playgroud)

或者您可以使用稍微复杂的版本:

$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
Run Code Online (Sandbox Code Playgroud)


ken*_*ytm 7

If you must not use a loop (why?), you could use array_walk,

function printer($v, $k) {
   echo "$k is at $v\n";
}

array_walk($page, "printer");
Run Code Online (Sandbox Code Playgroud)

See http://www.ideone.com/aV5X6.


You*_*nse 5

对于第一个问题

$key = 'Home';
echo $key." is at ".$page[$key];
Run Code Online (Sandbox Code Playgroud)


小智 5

不带循环和带循环的数组的回显键和值

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


print_r(each($array));  
Run Code Online (Sandbox Code Playgroud)

输出量

Array
(
    [1] => name
    [value] => name
    [0] => kk6NFKK
    [key] => kk6NFKK
)
Run Code Online (Sandbox Code Playgroud)