Array_key_exist 个匹配关键字
Array_key_exist of matching keyword
我有一个数组如下存储在变量$keyword_reports_data
[interne] => Array
(
[Google.ca - Canada] => Array (...)
[Google.com - USA] => Array (...)
)
我有这样的代码可以搜索(不完全是例子)
foreach ($keyword_reports_data['interne'] as $key => $value) {
if (array_key_exists("Google.ca", $value)) {
echo "hi " ;exit;
}
else {
echo "not exist "; exit;
}
}
但实际上它会打印
not exist
如何打印 "hi" 如果数组值像关键字 "Google.ca" 一样只存在 "Google.ca" not with "Google.ca - Canada"
所以我需要为此设置条件
密钥在数组中不同。将密钥从 "Google.ca"
更改为 "Google.ca - Canada"
。
完全匹配
如果您想 完全匹配 ,请使用 array_key_exists
.
将 if 语句更改为:
if (array_key_exists("Google.ca - Canada", $value)) {
部分匹配
如果要检查键是否包含字符串的一部分,请使用 preg_match
或 strpos
。正则表达式 可以 很慢,因此建议使用 strpos
.
示例如下:
preg_match
if (preg_match('/Google.ca/', $key)) {
strpos
if (strpos($key, 'Google.ca') === 0) {
注意:我们使用 ===
.
检查字符串的开头是否匹配 Google.ca
您需要在键(而非值)中搜索循环中的子字符串。
$data = [
'animals' => [
'UK sheep' => ['beltex', 'blackface'],
'UK pigs' => ['berkshire', 'duroc'],
'NZ sheep' => ['corriedale'],
]
];
foreach($data['animals'] as $key => $value) {
if(strpos($key,'UK') === 0) {
echo "A key found beginning with 'UK'.\n";
}
}
输出:
A key found beginning with 'UK'.
A key found beginning with 'UK'.
我有一个数组如下存储在变量$keyword_reports_data
[interne] => Array
(
[Google.ca - Canada] => Array (...)
[Google.com - USA] => Array (...)
)
我有这样的代码可以搜索(不完全是例子)
foreach ($keyword_reports_data['interne'] as $key => $value) {
if (array_key_exists("Google.ca", $value)) {
echo "hi " ;exit;
}
else {
echo "not exist "; exit;
}
}
但实际上它会打印
not exist
如何打印 "hi" 如果数组值像关键字 "Google.ca" 一样只存在 "Google.ca" not with "Google.ca - Canada"
所以我需要为此设置条件
密钥在数组中不同。将密钥从 "Google.ca"
更改为 "Google.ca - Canada"
。
完全匹配
如果您想 完全匹配 ,请使用 array_key_exists
.
将 if 语句更改为:
if (array_key_exists("Google.ca - Canada", $value)) {
部分匹配
如果要检查键是否包含字符串的一部分,请使用 preg_match
或 strpos
。正则表达式 可以 很慢,因此建议使用 strpos
.
示例如下:
preg_match
if (preg_match('/Google.ca/', $key)) {
strpos
if (strpos($key, 'Google.ca') === 0) {
注意:我们使用 ===
.
Google.ca
您需要在键(而非值)中搜索循环中的子字符串。
$data = [
'animals' => [
'UK sheep' => ['beltex', 'blackface'],
'UK pigs' => ['berkshire', 'duroc'],
'NZ sheep' => ['corriedale'],
]
];
foreach($data['animals'] as $key => $value) {
if(strpos($key,'UK') === 0) {
echo "A key found beginning with 'UK'.\n";
}
}
输出:
A key found beginning with 'UK'.
A key found beginning with 'UK'.