-1

私は配列を持っています

$data = array(
  array(
    "engine" => "Gecko",
    "browser" => "Firefox 1.0",
    "platform" => "2",
    "version" => "1.7",
    "grade" => "A"
  ), 
  array(
    "engine" => "SHmeko",
    "browser" => "Firefox 1.5",
    "platform" => "1",
    "version" => "1.8",
    "grade" => "B"
  )
);

要素で検索するにはどうすればよいですか? in_array は適合しません。すべての一致を見つける必要があるためです。「k」を検索する場合は、「k」を含む要素で見つける必要があります。

4

6 に答える 6

1

これは役立つはずです:

$key = array_search('k', $data);
于 2012-11-12T10:30:37.353 に答える
1

ということarray_searchですか?

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )

http://de2.php.net/manual/de/function.array-search.php

于 2012-11-12T10:31:00.377 に答える
1

あなたはこれを試すことができます:

$friends = array( 'Bob', 'Ann', 'Peter' ); // Two persons named 'Bob'
$find = 'Bob';
$key = array_search( $find, $friends ); // Find key of given value
if ($key != NULL || $key !== FALSE) {
    unset($friends[$key]); // remove key from array
}

また、このリンクを参照することもできます

http://php.net/manual/en/function.array-search.php

于 2012-11-12T10:36:06.857 に答える
0

この配列で特定の用語/キーを検索しようとすると、次のように実行できます。A配列で検索する必要がある場合を考えてみましょう$data

$key = array_search(‘A’, $data);

この後、$key値「A」を持つ場所が含まれます

必要な値が配列の一部ではない場合、それに含まれますFALSE

それがこの問題を解決することを願っています。

于 2012-11-12T10:32:31.997 に答える
0

たぶん使用してみてください:

array array_filter ( array $input [, callable $callback = "" ] )

preg_match()を使用するコールバック関数を使用しますか?

詳細情報array_filterpreg_match

于 2012-11-12T10:32:50.403 に答える
0
    if (isset($_GET['sSearch']) && $_GET['sSearch'] != "") {

        foreach ($data as $sort) {
            foreach ($sort as $key => $val) {
                if (preg_match_all('/' . $_GET['sSearch'] . '/i', $val) != 0) {
                    $new[] = $sort;
                    break;
                }
            }
        }
        if(isset($new))$data = $new; else $data=0;
    }
于 2012-11-12T16:37:35.947 に答える