我正在尝试对脚本中的特定数组进行简单检索,因此我有一个原始的关联数组:
$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>
答案 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也可以使您的代码更具可读性。