0
私はいくつかの配列を持っていますが、以下はそれらの配列の2つの例です。私はモードのキーの値を取得したいと思います。これらの配列がどのインデックスであるかはわかりません。私は、次の試み:多次元配列で特定のキーの値を取得する方法PHP
$text1 = array(
'type'=>'balance',
'lang'=> array(
'text'=>array(
'en'=>array('mode'=>'ussd', 'tet'=>'Your balance is'),
'ru'=>array('mode'=>'ussd', 'tet'=>'vash balance'),
),
),
);
$text2 = array(
'type'=>'balance',
'lang'=> array(
'text'=>array(
'en'=>array(
'success'=>array(
'mode'=>'ussd',
'tet'=>'Your balance is'),
'error'=>array(
'mode'=>'ussd',
'tet'=>'Your balance is err')
),
'ru'=>array(
'success'=>array(
'mode'=>'ussd',
'tet'=>'vash balans'),
'error'=>array(
'mode'=>'ussd',
'tet'=>'vash balans is err'
)
),
),
),
);
function GetKey($key, $search)
{
foreach ($search as $array)
{
if (array_key_exists($key, $array))
{
return $array[$key];
}
}
return false;
}
$tmp = GetKey('mode' , $text1);
echo $tmp;
この戻り値: 警告:ライン上の\ XAMPP \ htdocsに\テスト\のindex.phpを27
:array_key_exists()は、パラメータ2がCで指定された配列、文字列であることを期待しますphp.netによると、array_key_exists()は最初の次元のキーだけを検索します。 多次元配列のネストされたキーは見つかりません。
ありがとうございます!できます。 –
もちろん、値が違う場合は、すべての値を収集すると良いでしょう。 –
@seb_dom編集を見てください –