2016-04-12 1 views
-1

У меня есть вар, как это ...PHP => var как строка для проверки массива [key]?

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

, и я хочу, чтобы проверить, если переменная является ключевым в массиве.

Вот что я пробовал, к сожалению, без успеха.

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() представляет собой метод, который возвращает PHP TRUE, если данный ключ установлен в массиве. ключ может быть любым значением, возможным для индекса массива. Для этого можно сослаться на следующий документ. 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

Смежные вопросы