84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
数组1:
$Arr1 = array( 'name/?' => 'apple', 'weight' => '30kg', );
现在要 isset( $Arr1['name/fruits'] ) 是否存在于数组1,重点:如何让PHP把?忽略认为是fruits并返回true
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'));
根据你的业务逻辑来说,只需要判断key是否在name里面即可,即name/是否在name/fruits中能找到:strpos($name , substr($key , 0 , -1))
key
name
name/
name/fruits
strpos($name , substr($key , 0 , -1))
根据你的业务逻辑来说,只需要判断
key
是否在name
里面即可,即name/
是否在name/fruits
中能找到:strpos($name , substr($key , 0 , -1))