我有一个数组$ qwe2,我需要从中创建2个独立的数组。一个在这个例子中不包含数值的妈妈,姐妹和一个数值为11dad 13brother的数组。
$qwe = " mom 11dad sister 13brother ";
$qwe0 = ucwords(strtolower($qwe));
$qwe1 = preg_replace('/\s+/', ' ',$qwe);
$qwe7 = trim($qwe1);
$qwe2 = explode(' ',$qwe7);
var_dump($qwe2);
这就是它的样子:
array (size=4)
0 => string 'mom' (length=3)
1 => string '11dad' (length=5)
2 => string 'sister' (length=6)
3 => string '13brother' (length=9)
以上所有这些都是必需的,但我设法轻松完成。我不明白下面的部分。
期望的结果:$asd = array("mom, sister");
和$zxc = array("11dad, 13brother");
我还有一个字符串$doyou = "Do you like ?"
,我需要将其与新数组$asd
结合使用,这将导致:Do you like mom?, Do you like sister?
提前致谢!
答案 0 :(得分:4)
使用PHP的array_filter()
和一些自定义函数来检查字符串中的数字:
$asd = array_filter($qwe2, 'hasNumbers');
$zxc = array_filter($qwe2, 'hasNoNumbers');
function hasNumbers($string)
{
return strcspn($string, '0123456789') != strlen($string);
}
function hasNoNumbers($string)
{
return strcspn($string, '0123456789') == strlen($string);
}
然后array_map()
可以帮助您进行字符串替换:
echo implode(', ', array_map('myStringReplace', $asd));
function myStringReplace($string)
{
return str_replace('?', $string, 'Do you like ?');
}