我有这些变量:
$cities = [
'New York City',
'Arizona State',
'Arkansas State'
];
$teams = [
'New York Mets',
'New York Yankees',
'Arizona State Sun Devils',
'Arkansas State Red Wolves'
];
如何将$teams
数组格式化为以下内容:
$teams = [
'Mets',
'Yankees',
'Sun Devils',
'Red Wolves'
];
谢谢!
答案 0 :(得分:1)
有十几个选项,这里有一个,如果您在城市列表中有任何与您要保留的团队列表中的任何单词相匹配的单词,则无法使用。但是会为所提供的数据工作。
<?php
$cities = [
'New York City',
'Arizona State',
'Arkansas State'
];
$teams = [
'New York Mets',
'New York Yankees',
'Arizona State Sun Devils',
'Arkansas State Red Wolves'
];
$r=implode($cities,'|');//join the cities
$r=str_replace(' ','|',$r);//separate each word with | for the regular expression
$out=preg_replace('#'.$r.'#','',$teams); // regular expression replace
答案 1 :(得分:0)
使用str_replace函数。例如:
<?php
$teams = [
'New York Mets',
'New York Yankees'
];
$out = str_replace('New York', '', $teams);
print_r($out); // Output: Array ( [0] => Mets [1] => Yankees )
?>
答案 2 :(得分:0)
EstimatorSpec
可以为您完成工作,因为它也接受数组作为参数。但是,您将遇到str_replace()
的问题。如果您无法将其重命名为New York City
,或将New York
添加为单独的元素,则需要首先将其删除(New York
- 后面的行{ {1}}声明),在您将str_replace()
提供给用空字符串替换城市的$city
之前。
$city
输出:
str_replace()