尝试从Array输出两个特定值时感到沮丧

时间:2011-02-25 12:45:14

标签: php arrays associative

我正在尝试对脚本中的特定数组进行简单检索,因此我有一个原始的关联数组:

$vNArray ['Brandon']  = $item[3]; 
$vNArray['Smith']= $item[4]; 
$vNArray ['Johnson']= $item[5];
$vNArray ['Murphy']= $item[6];
$vNArray ['Lepsky']= $item[7];

哪个输出大多数值的常见结果:

foreach ($vNArray as $key => $value){

 if(!empty($value)){
    $result  .= "\t\t\t\t<li><strong>$key</strong>"  .$value.   "</li>\n";
 }

但后来我希望其中两个数组的呈现方式不同,所以我添加了另一个人建议的脚本:

$display_id=array('Brandon', 'Murphy');

foreach ($vNArray as $key => $value){
  if(!empty($value)){
    //Looks into the display_id array and renders it differently
    if (in_array($key, $display_id)) {
    $result  .= "\t\t\t\t<li id=\"$key\"><strong>$key</strong>$value</li>\n";
    } else {
    $result .= "\t\t\t\t<li><strong>$key</strong>$value</li>\n";
    }
  }

}

问题是我希望这些数组的结果包含在第一个结果中,但是当我尝试输出时     $ result。=“\ t \ t \ t \ t $ key [1] ”。$ value [1]。“\ n”;

PHP认为索引是值的字符索引,所以我遇到了主要的语法问题,比如id =“/” r

我也试过

$result  .= "\t\t\t\t<li id=\"". $display_id['Brandon']$value.\""><strong>$key[1]</strong>". $display_id['Murphy']$value." </li>\n";

但我仍然遇到错误的语法问题......比如

syntax error, unexpected T_VARIABLE

或者像这样的其他一些错误。

有人可以帮忙吗?

EDITED


我已经进行了语法更正,但仍需要指定索引:

的结果
result  .= "\t\t\t\t<li id=\"". $display_id['Brandon'] . $value."\"><strong>" .   $key[1] . "</strong>". $display_id['Murphy'] . $value." </li>\n";

需要(注意每个值在同一输出上取决于我的目标):

<li id="Brandon Value"><strong>Brandon</strong> Murphy Value</li>

现在它忽略了索引值。 $ display_id ['Brandon']。 $值。要么 。 $ display_id ['墨菲']。 $ value。“所有在一起,只是重复:

<li id="Brandon Value"><strong>Brandon</strong> Brandon Value</li>
<li id="Murphy Value"><strong>Murphy</strong> Murphy Value</li>

2 个答案:

答案 0 :(得分:1)

只需$key,忘记[1]位。与$value相同。

答案 1 :(得分:0)

每个值都需要与另一个值连接,例如:

echo $a . $b . $c . $d . $e;

注意将每个变量与下一个/ prev变量连接起来的.联系人,所以你的行:

$display_id['Brandon']$value

应该是这样的:

$display_id['Brandon'] . $value
                       ^

我会做以下事情。

$result  .= sprintf('<li id="%s"><strong>%s</strong> %s</li>',$display_id['Brandon'] . $value,$key[1],$display_id['Murphy'] . $value);

同样使用sprintf也可以使您的代码更具可读性。