2

次のようにPHPに配列があります。

[0] => Array
    (
        [41] => 20
        [2] => 42
        [3] => 30
        [12] => 94
        [32] => -2
        [39] => -3
        [40] => -15
    )

41キーのインデックス番号is 0、キーのインデックス番号: 2isなどのように、特定のキーのインデックス番号を取得したいだけです1。PHPでのやり方を教えてください。ありがとう

4

3 に答える 3

0
<?php
function multiarray_keys($ar)
{
   foreach($ar as $k => $v) 
  {
    $keys[] = $k;
    if (is_array($ar[$k]))
        $keys = array_merge($keys, multiarray_keys($ar[$k]));
  }
   return $keys;
}
?>

コード例:

<?php
      $array = array("color" => array("1stcolor" => "blue", "2ndcolor" => "red", "3rdcolor" => "green"),"size"  => array("small", "medium", "large"));
echo "<pre>";
print_r($array);
echo "</pre>";
echo "<pre>";
print_r(multiarray_keys($array));
echo "</pre>";

?>

Example output:

 Array
 ( 
    [color] => Array
    (
        [1stcolor] => blue
        [2ndcolor] => red
        [3rdcolor] => green
    )
    [size] => Array
    (
        [0] => small
        [1] => medium
        [2] => large
    )
 )
 Array
(
  [0] => color
  [1] => 1stcolor
  [2] => 2ndcolor
  [3] => 3rdcolor
  [4] => size
  [5] => 0
  [6] => 1
  [7] => 2
 )
于 2013-06-21T06:42:04.427 に答える
0

メモリ使用量が問題にならない場合は、キーとインデックスの関係を保持する 2 番目の配列を維持します。それ以外の場合は、(foreach サイクルを使用して) 指定されたインデックスの配列を検索する必要があります。

于 2013-06-21T05:51:58.270 に答える