如何在 PHP 中显示以特定字母开头的数组元素
How can I show an array element that starts with a specific letter in PHP
这是我的数组:
$aCars = array("BMW", "Audi", "Opel", "Mercedes", "Ford", "Fiat");
我只想显示以字母 F 开头的数组元素。
但是最有效的方法是什么,我看到了更多这样的问题,但我想有一个最有效的方法来做到这一点。
foreach($aCars as $currentItem)
{
if(strcmp(substr($currentItem, 0, 1),"F")==0)
{
//Do what you need here
}
}
$aCars = ["BMW", "Audi", "Opel", "Mercedes", "Ford", "Fiat"];
foreach ($aCars as $model) {
if ($model[0] == "F") {
echo $model . " ";
}
}
array_filter()
可能 会更快,因为它是机器代码,而不是解释 PHP 代码。
$filteredCars = array_filter($aCars, function($car) {
return $car[0] == 'F';
});
可能不是最有效但简短的方法。匹配字符串 ^
开头的字母 F
。 /
是模式的分隔符,可以是大多数非字母数字、非反斜杠、非空白字符:
$result = preg_grep('/^F/', $aCars);
这是我的数组:
$aCars = array("BMW", "Audi", "Opel", "Mercedes", "Ford", "Fiat");
我只想显示以字母 F 开头的数组元素。
但是最有效的方法是什么,我看到了更多这样的问题,但我想有一个最有效的方法来做到这一点。
foreach($aCars as $currentItem)
{
if(strcmp(substr($currentItem, 0, 1),"F")==0)
{
//Do what you need here
}
}
$aCars = ["BMW", "Audi", "Opel", "Mercedes", "Ford", "Fiat"];
foreach ($aCars as $model) {
if ($model[0] == "F") {
echo $model . " ";
}
}
array_filter()
可能 会更快,因为它是机器代码,而不是解释 PHP 代码。
$filteredCars = array_filter($aCars, function($car) {
return $car[0] == 'F';
});
可能不是最有效但简短的方法。匹配字符串 ^
开头的字母 F
。 /
是模式的分隔符,可以是大多数非字母数字、非反斜杠、非空白字符:
$result = preg_grep('/^F/', $aCars);