php - 在数组中搜索特定值并返回值
问题描述
$meal_type= "Free Breakfast|Free Wireless";
if ($meal_type != '' && $meal_type !='None') {
$meal = explode('|', $meal_type);
$meal = array_search('Breakfast',$meal);
$meal = $meal_type;
} else {
$meal= 'No Breakfast';
}
echo $meal;
这是我的代码。在这里我想Breakfast
在数组中搜索并返回搜索到的值,如果没有找到返回No Breakfast
。
在这里,我用 | 将字符串分解为数组 符号和返回数组搜索早餐如果存在返回资助数组值,否则回显无早餐值。
解决方案
一个简单foreach()
的就可以完成这项工作:-
<?php
$match_counter =0;
$array = Array
(
0 => 'Free Breakfast',
1 => 'Free Wireless Internet'
);
$search = 'Breakfast';
foreach($array as $arr){
if(stripos($arr,$search) !==false){
echo $arr.PHP_EOL;
$match_counter++;
}
}
if($match_counter ==0){
echo 'No '.$search;
}
输出:-
https://3v4l.org/ogOEB(发现出现)
https://3v4l.org/AOutTJ(未发现出现)
https://3v4l.org/NTH1W(发现不止一次)
参考:-stripos()
推荐阅读
- java - Heroku 忽略 system.properties 文件
- javascript - 我可以检测按钮点击是否来自标签
- reactjs - 使用 useEffect 和 useRef 渲染 Light-Weight Chart,但出现错误
- xcode - 更改显示名称后 WatchOS App 崩溃
- libreoffice - 从 libreoffice calc basic 中的“ThisComponent.CurrentSelection”获取行号和列号
- flutter - 如何停止收听父小部件的流构建器正在收听的流?
- azure - Terraform - Azure - 有条件地在可用性集中创建 VM
- c# - 反转具有时间跨度属性的对象列表,同时保持对象之间的时间差
- sql - 有条件地将值放入列中
- spring - 当 Spring @Bean 存储在 ThreadLocal 中时会发生什么?