PHP では、配列内の要素の位置を決定することは非常に一般的な操作です。この記事では、配列内の要素の位置を決定するいくつかの方法を紹介します。
方法 1: array_search() 関数を使用する
PHP では、array_search() 関数を直接使用して、配列内の要素の位置を見つけることができます。戻り値は次のとおりです。要素の位置に対応するキー値。見つからない場合は false を返します。
サンプル コード:
$arr = array('apple', 'banana', 'orange'); $pos = array_search('banana', $arr); echo $pos; // 输出 1
上記の例では、array_search() 関数を使用して、配列 $arr 内の要素 'banana' の位置を検索し、戻り値は 1 です。
この方法では、条件を満たす配列の最初の要素の位置しか特定できないことに注意してください。条件を満たす要素が複数ある場合は、最初の要素の位置しか特定できません。得られた。
方法 2: array_keys() 関数を使用する
array_keys() 関数は、キー値が指定された値と等しい配列内のすべての要素の位置の配列を返すことができます。返された配列内のキー名は要素に対応します。見つからない場合は、空の配列が返されます。
サンプル コード:
$arr = array('apple', 'banana', 'orange', 'banana'); $pos = array_keys($arr, 'banana'); print_r($pos); // 输出 Array ( [0] => 1 [1] => 3 )
上記の例では、array_keys() 関数を使用して、配列 $arr 内の要素 'banana' の位置を検索し、戻り値は配列です。位置 1 と 3 を含む。
このメソッドは条件を満たすすべての要素の位置を決定できるだけであり、特定の要素の値やその他の情報を取得することはできないことに注意してください。
方法 3: foreach() ループを使用する
foreach() ループを使用して配列を走査すると、配列内の要素を 1 つずつ判断し、要素の位置情報を記録できます。同時に。
サンプル コード:
$arr = array('apple', 'banana', 'orange', 'banana'); foreach($arr as $key => $value) { if($value == 'banana') { echo $key; // 输出 1 3 } }
上記の例では、foreach() を使用して配列 $arr をループし、要素が 'banana' に等しいかどうかを 1 つずつ判断し、が等しい場合、要素の位置を出力します。
この方法では、特定の要素の値、位置、その他の情報を取得できますが、効率が低く、特に大きな配列の場合、時間計算量が高くなります。
方法 4: array_reduce() 関数を使用する
array_reduce() 関数は、配列のすべての要素に対してリダクション演算を実行し、各要素の位置情報を同時に記録できます。要素と位置情報は配列として格納され、配列を走査することで要素の位置情報が取得されます。
サンプルコード:
$arr = array('apple', 'banana', 'orange', 'banana'); $posArr = array_reduce($arr, function($carry, $item) { static $pos = 0; if($item == 'banana') { $carry[] = $pos; } $pos++; return $carry; }, array()); print_r($posArr); // 输出 Array ( [0] => 1 [1] => 3 )
上記例では、配列$arrをarray_reduce()関数で処理し、各要素を判定し、その要素が「バナナ」と等しい場合に記録します。要素の位置情報を $carry 配列に格納し、最後に $carry 配列を返します。
このメソッドは、条件を満たすすべての要素の位置の配列を簡単に取得できますが、foreach() ループと比較すると、大きな配列の場合は依然として時間計算量が高いことに注意してください。
まとめると、PHP では配列内の要素の位置を決定する方法が多数あり、実際の状況に応じて適切な方法を選択することが重要です。
以上がPHPは配列のどの要素を決定するかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。