8

私は自分の任務を完了しようとしていますが、これが今やるべき最後のことです。

foreach配列全体を印刷したい場合は、配列全体を印刷するために使用できるさまざまな方法を知っています

foreach($v as $k=>$variable_name) { echo "<p> This is index of $k. value is $variable_name <br/></p>";}

しかし、各インデックスのみを個別に印刷したい場合はどうすればよいでしょうか?

各フォームの下にエラーメッセージを表示したいので、それぞれを別々にしたいのです。

で試しましたが$v[0]、何も表示されません。

トリックや何かが欠けていますか?

4

6 に答える 6

8

array_keys()は配列内のインデックスを出力します。

print_r(array_keys($arr));
于 2012-06-20T18:27:14.307 に答える
3

php array_keys関数を使用して、すべてのキーを取得できます。その連想配列の場合、

$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));

出力は次のようになります:

Array
(
    [0] => color
    [1] => size
)

他の方法は:

if(is_array($v){
    foreach($v as $k=>$value) { 
         echo "<br/>". $k ;  // $k is the key 
    }
}
于 2012-06-20T18:37:05.657 に答える
3

連想配列について話している場合は、インデックスを直接取得する必要があります。

例:

$array = array ('test' => 'value1', 'test2' => 'value2');   
echo $array['test']; // value1

print_r($array) を実行すると、適切にフォーマットされた配列構造を確認できます。

<pre>
<?php print_r($array);?>
</pre>

代わりに行っているのは、次のように、数値インデックスで値をフェッチすることです

$array = array('test','test2','test3');
echo $array[0];  // test

さらに、 array_key_exists()を使用してキーが存在するかどうかを事前に確認できます。

var_dump(array_key_exists('test2',$array));  // (bool) TRUE
于 2012-06-20T18:27:11.343 に答える
3

foreachループを使用している場合は、おそらく連想配列 (つまり$v['inputName']) を使用しています。したがって、$v[0]インデックスは数字で定義されていないため、使用は機能しません。文字で定義されています。ループを使用して、foreachすべての値を番号付きインデックスに関連付けてから、そのようにすることができます。

$x = array();
foreach($v as $key=>$value) {

   $x[count($x)] = $key;

}

echo $x[0];

その場合$x[0]は動作します

于 2012-06-20T18:30:01.673 に答える
2

これを探していると思います: http://php.net/manual/en/function.array-keys.php

試してください(上記のページから):

<?php
  $array = array(0 => 100, "color" => "red");
  print_r(array_keys($array));

  $array = array("blue", "red", "green", "blue", "blue");
  print_r(array_keys($array, "blue"));

  $array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
  print_r(array_keys($array));
?>
于 2012-06-20T18:28:54.903 に答える
0

print_r関数を使用して配列を出力します。

print_r($array)
于 2012-06-20T18:26:02.270 に答える