2016-04-12 3 views
-1
私はこのようなVARを持っている

...PHP =>配列[キー]をチェックする文字列としてのvar?

$var = '["continent"]["country"]["province"]'; 

は、と私はvarが配列のキーであるかどうかを確認したいです。

私が試したことは、残念ながら成功していないことです。

if (!isset($array.$var)) : 
    do... 
endif; 

これを行うためのネイティブPHPの方法はありますか?私はPHPのウィザードではありません、ありがとう!

+0

これはPHPでもありません。あなたはどこからその文字列を取得していますか? –

+0

私はこのコードはPHPからではないと思います。チェックしてください。 – RJParikh

+0

配列に '$ var'が文字通り存在するかどうか、' $ xy ["continent"] ["country"] ["province"] 'が存在するかどうかチェックしますか? – Rizier123

答えて

0

フォーマットがそのよう間違いである場合、あなたはこのような何か行うことができます。

<?php 
// Convert into a proper PHP array by trimming the extra stuff and exploding: 
$var = '["continent"]["country"]["province"]'; 
$var = trim($var, '["'); 
$var = explode('"]["', $var); 
// Apply native array functions... 
$key = "country"; 
if (in_array($key, $var)) 
    // Do something if present 
    echo "Present"; 
else 
    echo "Not Present"; 
?> 

デモ:http://ideone.com/tLx7c3

0

あなたは鍵が中に存在するかどうかをテストするために
array_key_exists($key,$array)
を使用することができますがアレイ。 例えば。

<?php 
$search_array = array('stack' => 1, 'overflow' => 2); 
if (array_key_exists('stack', $search_array)) { 
    echo "The element is in the array"; 
} 
?> 

array_key_exists()指定されたキーが配列に設定されている場合はTRUEを返し、PHPの方法です。 keyは、配列インデックスに対して可能な任意の値にすることができます。 これについては、次のドキュメントを参照してください。 http://php.net/manual/en/function.array-key-exists.php

0
<?php 

$array = array(
    '["continent"]["country"]["province"]' => 'foo', 
    '["big"]["fat"]["mama"]' => 'bar' 
); 

$var = '["continent"]["country"]["province"]'; 

if (array_key_exists($var,$array)) 
    print 'key is in the array'; 
+0

ありがとうございます。 しかし、これが存在しない場合、どのようにキーを配列Iに挿入できますか? –

+0

新しいキー値のペアを挿入するには、$ array ['[fine]] ["new"] ["shoes"]'] = 'baz''。 – Progrock

関連する問題