在字符串中,
$string_example = "cats, dogs, horses"
我想
$string_truncated = "cat, dog, hor"
即。获取每个逗号分隔值的前三个字符
稍后,我将在SQL LIKE语句中使用它来限制至少与给定的前三个字符匹配的搜索结果(我不能完全写入文本,因为我想保留我的外键约束,并且可以&#39 ;放弃我的数据库引擎)
答案 0 :(得分:2)
$string_example = "cats, dogs, horses";
$arr = explode(',',$string_example);
$newArr = array();
foreach($arr as $val){
if($val != ''){
$newArr[] = substr(trim($val),0,3);
}
}
$newStr = implode(', ',$newArr);
echo $newStr;
答案 1 :(得分:1)
你可以这样做:
<?php
$string_example = "cats, dogs, horses";
$arr = explode(",", $string_example);
$newArr = array();
foreach($arr as $value) $newArr[] = substr(trim($value), 0, 3);
$newString = implode($newArr,", ");
echo $newString;
?>
输出:
cat, dog, hor
答案 2 :(得分:0)
使用array_map
,substr
,explode
和implode
:
$string_example = "cats, dogs, horses"
$truncated_ary = array_map(
function($search_string){
return substr($search_string, 0, 3)
},
explode(',', $string_example)
);
$string_truncated = implode(',', $truncated_ary);
答案 3 :(得分:0)
$string_example = "cats, dogs, horses";
$words = explode(',',$string_example);
$result = array();
foreach($words as $val){
if($val != ''){
$result[] = substr(trim($val),0,3);
}
}
$newStr = implode(', ',$result);
echo $newStr;