0

ここに私のコードがあります、

<? foreach($goodsview as $key=>$value)
echo $value;
?>

上記のコードは、配列内のすべての値を表示することで完全に機能します。次に、perticularforeach ループ自体を使用して値を取得する必要があります。

echo $value['myvalue'] ;

しかし、「Illegal string offset 'myvalue'」というエラーが表示されます。これを修正するにはどうすればよいですか?

4

5 に答える 5

0

$valueforeachループに値を保持します。と同じ$goodsview[$key]です。単一の値だけが必要な場合は、ループを使用しないでください。$goodsview['myvalue']配列が のように見える場合、値を保持できます$goodsview = array('myvalue' => 'This would be the value')

于 2013-07-19T00:36:42.550 に答える
0

存在しないため、これ$valuesは機能しません

foreach($goodsview as $key => $value)
   echo $values;

これ$valueは、文字列や数値などの場合は機能する可能性がありますが、配列の場合は機能しません。

foreach($goodsview as $key => $value)
   echo $value;

文字列オフセット エラーは、配列などの文字列にアクセスしているが、使用しているキーが存在しないことを示しています。

説明させてください。

$string = "Jake";
echo $sting[0]; //outputs 'J'
echo $sting[3]; //outputs 'e'
echo $sting['doom']; // will fail


$array = array("Jake", "doom"=>3);
echo $sting[0]; //outputs 'Jake'
echo $sting[3]; //will fail
echo $sting['doom']; // outputs 3

配列$valueではなく文字列も同様です。

このように配列にアクセスすることもできます。$goodsview[$key]これにより、 と同じ結果が得られます$value

于 2013-07-19T00:38:52.657 に答える
0

さて、私自身の質問に答えさせてください。実際、私の配列は であるsingle dimentionalため、この方法は機能しません

echo $value['myvalue'] ;

だから私たちは使用する必要があります

echo $arr[$key]

ただし、 foreachloop で実行されているかのように複数の要素が表示されるため、 foreach ループを使用せずに、次のような結果を表示する必要があります

echo $goodsview['myvalue']

将来、同様の問題に遭遇した場合に役立つことを願っています...この質問に回答していただきありがとうございます。

于 2013-07-19T10:12:25.353 に答える
0

暗闇の中のショットかもしれませんが、選択要素のオプションを表示するループのようなものに取り組んでいるようです。単に特定の配列要素が必要な場合は、通常、ループで時間を無駄にすることはありません。

これはあなたに何かアイデアを与えますか:

<select name="myvalue">
<?php
foreach($goodsview as $key=>$value) {
  $seltxt='';
  // assume $myvalue is the previously posted value from the select
  // if the $key matches the posted $myvalue - mark this option as selected
  if (!strcmp($key,$myvalue)) $seltxt=' selected';
  echo "<option value=\"$key\"$seltxt>$value</option>\n";
}
?>
</select>

ちょっとした考え。

于 2013-07-19T00:50:33.130 に答える
0

変数$valueは配列ではなく文字列です。これが、エラー メッセージが表示される理由です。

コードを見なければ、提案することはあまりありません。しかし、一般的に、これは foreach ループがどのように機能するかです:

配列構造が次のようになっているとします。

Array
(
    [name] => Tom
    [gender] => Male
    [age] => 18
)

すべての要素、つまり'Tom'、'Male'、'18'を表示するには、次のようにします。

foreach ($array as $key => $value) {
     echo $arr[$key].'<br>';
} 

出力:

Tom
Male
18

特定の値のみを取得するには:

たとえば、人物の名前を取得する場合は、次のようにします。

echo $arr['name']; //Tom
echo $arr['gender']; //Male
echo $arr['age']; //18

これで問題が解決することを願っています!:)

于 2013-07-19T00:34:34.703 に答える