数组索引无法正常工作

时间:2014-04-29 09:20:23

标签: php arrays

嘿伙计们我试图将数组的密钥添加到另一个数组的密钥但我没有得到我预期的输出..我的代码是

<?php

$some = array('anna'=>'2','revathy'=>'baba');

$honey = array_keys($some);


$something = array();



foreach($honey as $value) {

$something[$value]=$some[$value];


echo $something[$value];

 }

?>

当我运行此代码时,它显示空白屏幕而不是输出..希望你们可以帮助我...任何帮助都会被贬低..

5 个答案:

答案 0 :(得分:0)

这是因为array_keys返回的内容如下:

array (size=2)
  0 => string 'anna' (length=4)
  1 => string 'revathy' (length=7)

所以,你需要做的就是让你的脚本工作:

P.S。在您的脚本中,您有一个未定义的变量$v

<?php

$some = array('anna'=>'2','revathy'=>'baba');

$honey = array_keys($some);

$something = array();

foreach($honey as $key => $value) // this is the change
{
    $something[$value] = $some[$value];

    echo $something[$value] ."<br>"; // and here
}

输出:

2
baba

答案 1 :(得分:0)

foreach ($honey as $key => $value) {
    $something[$key]=$value;
}

这是这个的正确方法:) 绝对不需要$ honey = array_keys($ some);

答案 2 :(得分:0)

您不需要这样做来使用php复制数组。除非使用引用运算符(= &$some),否则等于运算符将复制它。

你唯一要做的就是:

<?php

$some = array('anna'=>'2','revathy'=>'baba');
$something = $some;

?>

另外打印出来:

echo implode(', ', array_values($something));

答案 3 :(得分:-1)

将$ v更改为$ value,这对我有用

答案 4 :(得分:-2)

你可以跳过

$honey = array_keys($some);

只是做

foreach($some as $key => $value)
{
    $something[$key] = $value;
}