この関数を使用して配列を検索します。
function search_array ( $array, $term )
{
foreach ( $array as $key => $value )
if ( stipos( $value, $term ) !== false )
$val = str_replace('"',"",preg_replace("/[a-zA-Z0-9]=/","",$array[$key]));
if (isset($val)) return $val;
return false;
}
これはうまく機能しますが、作成する必要があるのは少し制限があります。
$a = (search_array($l, "7=")); echo "Device ID: $a";
これは機能しますが、一致するものだけが必要であり、現在実行しているものでは7=
ありませ17=
ん27=
。これを私が入力したものにのみ一致させ、それを拡張しようとしない方法はありますか?
申し訳ありませんが、PHP4で使用しているこの関数を含める必要がありました。
function stipos($haystack, $needle){
return strpos($haystack, stristr( $haystack, $needle ));
}
エントリは;に似ています。
1 = "デバイス"、3 = "ユーザー"、7 = "ID123456"、27="ノード"など
7 =を検索している場合、返される結果はID123456になると思います。
現在、27="Node"から取得した2Nodeが返されます。
これは私がこれをどのように使用しているかの例です:
$line = "1=\"Device\",3=\"User\",7=\"ID123456\",27=\"Node\"";
$q = explode(",",str_replace('"','',$line));
$p = (search_array($q, "7=")); echo "ID : ".$p;
7 =を返したいのですが、27 =の値とそれから最初の2を取得し、結果として
ID : 2Node
いいえ
ID : ID123456