PHP: 检查数组键是否为特定字符串

PHP: Check if array key is specific string

我正在尝试创建一个 if 语句。基于

的字符串
$var = "Apple : Banana";
$array = explode(":", $var);
print_r($array); //array([0] => 'Apple' [1] => 'Banana')

if ($array[1] == "Banana") {
  echo "Banana!";
}

字符串:前后有space,所以数组为

array(2) { 
    [0]=> string(6) "Apple " 
    [1]=> string(7) " Banana" 
}

您需要从使用 trim() 的项目中删除 space,然后进行比较。

$var = "Apple : Banana";
$array = explode(":", $var);

if (trim($array[1]) == "Banana") {
    echo "Banana!";
}

您的条件不成立,因为数组的每个元素都有 space。您应该删除多余的 spaces。您可以使用 trim function to remove spaces and array_map 函数在数组的每个元素中应用 trim。 例如:

$var = "Apple : Banana";
$array = array_map('trim', explode(":", $var));
if ($array[1] == "Banana") {
  echo "Banana!";
}

结果:

Banana!

您可以使用 preg_split 和正则表达式

$parts = preg_split('/\s+\:\s+/', $var);

然后在 $parts 你会得到:

array(2) { [0]=> string(5) "Apple" [1]=> string(6) "Banana" }