PHP数组键存在于string中

我有一个数组:
<?PHP
    $array = [
        'fruits' => [
            'apple' => 'value','orange' => 'value'
        ],'vegetables' => [
            'onion' => 'value','carrot' => 'value'
    ];

我也有一个字符串:

$string = 'fruits[orange]';

有没有办法检查字符串中指定的 – 数组键 – 是否存在于数组中?

例如:

<?PHP
if(array_key_exists($string,$array)) 
{
    echo 'Orange exists';
}
试试这个.这里我们使用foreach和isset函数.

Note: This solution will also work for more deeper levels Ex: fruits[orange][x][y]

Try this code snippet here

<?PHP

ini_set('display_errors',1);
$array = [
    'fruits' => [
        'apple' => 'value','orange' => 'value'
    ],'vegetables' => [
        'onion' => 'value','carrot' => 'value'
    ]
];
$string = 'fruits[orange]';
$keys=preg_split("/\[|\]/",$string,-1,PREG_SPLIT_NO_EMPTY);
echo nestedisset($array,$keys);
function nestedisset($array,$keys)
{
    foreach($keys as $key)
    {
        if(array_key_exists($key,$array))://checking for a key
            $array=$array[$key];
        else:
            return false;//returning false if any of the key is not set
        endif;
    }
    return true;//returning true as all are set.
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...