Heim > Fragen und Antworten > Hauptteil
Array 1:
$Arr1 = array(
'name/?' => 'apple',
'weight' => '30kg',
);
Jetzt müssen wir prüfen, ob isset( $Arr1['name/fruits'] ) in Array 1 existiert. Kernpunkt:
Wie soll PHP es ausdrücken? Ignorieren Sie Früchte und geben Sie wahr zurück
漂亮男人2017-06-07 09:24:55
function my_isset($array, $key){
foreach($array as $k => $v) {
if (strpos($k, '?') == -1) {
if ($k == $key) {
return true;
}
} else {
$pattern = str_replace('?', '.+', $k);
$pattern = str_replace('/', '\/', $pattern);
if (preg_match('/'. $pattern . '/', $key)) {
return true;
}
}
}
return false;
}
$a = [
'aa' => 'dddd',
'xx/?' => 'dd',
];
var_dump(my_isset($a, 'aa'), my_isset($a, 'xx/dddd'), my_isset($a, 'xxx'));
过去多啦不再A梦2017-06-07 09:24:55
根据你的业务逻辑来说,只需要判断key
是否在name
里面即可,即name/
是否在name/fruits
中能找到:strpos($name , substr($key , 0 , -1))