0

データベースから取得されている配列があり、それがprint_rの場合に次を出力します

Array ( [0] => stdClass Object ( [name] => Administrator ) [1] => stdClass Object ( [name] => Events Organiser ) )

その配列を検索して、「Events Organiser」という単語が含まれているかどうかを確認するにはどうすればよいですか?

それが次のような標準的なアレイ設定であったかどうかは知っています

Array ( [0] => Administrator ) [1] => Events Organiser ) ) 

その後、in_array を使用できますが、これは配列が出力される方法では機能しないようです。

4

3 に答える 3

0

array_filterカスタム関数を指定して検索を実行できます。strpos()あなたの場合、検索文字列が存在するかどうかを確認するために使用する単純な関数:

function my_search($targetval) {
    $srch_val= 'value to search';
    return(strpos($targetval, $srch_val)); // or stripos() if you want case-insensitive searching.
}

$matches = array_filter($your_array, 'my_search');

さらに参照するには、このリンクを見ることができます

于 2012-10-20T13:47:47.990 に答える
0

array_search がこれを行います。例は次のとおりです。

<?php
$your_array = array(key=>values);

$key = array_search('value_for_search', $your_array); 

 ?>
于 2012-10-20T13:40:11.780 に答える
0

アレイの再構築

$std = new stdClass();
$std->name = "Administrator";

$std2 = new stdClass();
$std2->name = "Events Organiser";

$array = array($std,$std2);

使用できます

$find = "Events Organiser" ;
$list = array_filter($array,function($v) use ($find) { return $v->name == $find ; });
var_dump($list);
于 2012-10-20T13:43:44.587 に答える