0

スクリプト内の特定の配列を簡単に取得しようと頭を悩ませているので、元の連想配列があります。

$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";
 }

しかし、これらの配列の 2 つを異なる方法でレンダリングしたいので、誰かが提案した別のスクリプトを追加しました。

$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

または、このような他のエラー。

誰か助けてくれませんか?

編集済み


構文を修正しましたが、まだインデックスを指定する必要があります。

からの結果

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['ブランドン'] . $値。また 。$display_id['マーフィー'] . $value." をまとめて繰り返すだけです:

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

2 に答える 2

1

ちょっと$key忘れてください[1]。と同じ$value

于 2011-02-25T12:51:55.640 に答える
0

各値は別の値と連結する必要があります。たとえば、次のようになります。

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

各変数を next / prev 変数と結合する contact に注目し.てください。

$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 を使用すると、コードが読みやすくなります。

于 2011-02-25T13:01:28.370 に答える