web-dev-qa-db-ja.com

in PHP)の配列インデックスを出力またはエコーする方法

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

配列全体を印刷したい場合は、foreachとさまざまな方法を使用して配列全体を印刷できます。

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

しかし、各インデックスのみを個別に印刷したい場合はどうなりますか?

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

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

私が見逃しているトリックや何かがありますか?

5
Ali

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

例:

$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
5
Damien Pirsy

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

print_r(array_keys($arr));
5
Somnath Muluk

私はあなたがこれを探していると信じています: 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));
?>
2
Xunnamius

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

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

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

}

echo $x[0];

その場合、$x[0]は機能します

1
Drew

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 
    }
}
1
Nishu Tayal

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

print_r($array)
0
blearn