使用通配符的PHP搜索数组?
假设我有以下数组,其中包含:使用通配符的PHP搜索数组?,php,arrays,search,Php,Arrays,Search,假设我有以下数组,其中包含: Array ( [0] => 099/3274-6974 [1] => 099/12-365898 [2] => 001/323-9139 [3] => 002/3274-6974 [4] => 000/3623-8888 [5] => 001/323-9139 [6] => www.somesite.com ) 其中: 以000/、002/和001/
Array (
[0] => 099/3274-6974
[1] => 099/12-365898
[2] => 001/323-9139
[3] => 002/3274-6974
[4] => 000/3623-8888
[5] => 001/323-9139
[6] => www.somesite.com
)
其中:
- 以
开头的值表示移动(手机)电话号码000/、002/和001/
- 以
开头的值表示电话(固定)号码099/
- 以
开头的值表示网站www.
_数组中的函数只有在我知道给定数组中键的整个值时才起作用,这不是我的情况。创建三个空数组,使用
foreach
循环源数组,检查每个值(regexp很适合),并将项添加到各自的数组中。创建三个空数组,使用foreach循环源数组,检查每个值(regexp很适合),并将项目添加到各自的数组中。循环所有项目,并根据前4个字符将其排序到适当的数组中
$arrayTelephone = array();
$arrayMobile = array();
$arraySite = array();
foreach($data as $item) {
switch(substr($item, 0, 4)) {
case '000/':
case '001/':
case '002/':
$arrayMobile[] = $item;
break;
case '099/':
$arrayTelephone[] = $item;
break;
case 'www.':
$arraySite[] = $item;
break;
}
}
循环遍历所有项目,并根据前4个字符将它们排序到适当的数组中
$arrayTelephone = array();
$arrayMobile = array();
$arraySite = array();
foreach($data as $item) {
switch(substr($item, 0, 4)) {
case '000/':
case '001/':
case '002/':
$arrayMobile[] = $item;
break;
case '099/':
$arrayTelephone[] = $item;
break;
case 'www.':
$arraySite[] = $item;
break;
}
}
可以在数组上循环,并根据条件将值推送到正确的新数组。例如:
<?php
$fixed_array = array();
foreach ($data_array as $data) {
if (strpos($data, '099') === 0) {
$fixed_array[] = $data;
}
if ....
}
您可以在数组上循环,并根据您的条件将值推送到正确的新数组。例如:
<?php
$fixed_array = array();
foreach ($data_array as $data) {
if (strpos($data, '099') === 0) {
$fixed_array[] = $data;
}
if ....
}
是的,我实际上用preg_match编写了完整的代码,但在阅读了一些评论后,我接受了这样的观点:最好是指明方向
您将创建三个不同的阵列,分别名为arrayTelephone、arrayMobile和arraySite
然后使用foreach或for循环搜索第一个数组。将当前循环值与条件进行比较,并在按下“继续”语句后将该值推送到一个方便的新阵列(arrayTelephone、arrayMobile、arraySite)中
您可以通过查看add the找到解决方案是的,我实际上用preg_match编写了完整的代码,但是在阅读了一些注释后,我接受最好是显示方式
您将创建三个不同的阵列,分别名为arrayTelephone、arrayMobile和arraySite
然后使用foreach或for循环搜索第一个数组。将当前循环值与条件进行比较,并在按下“继续”语句后将该值推送到一个方便的新阵列(arrayTelephone、arrayMobile、arraySite)中
您可以通过查看add the@MattiVirkkunen找到解决方案:带有描述的代码示例实际上非常适合学习。不过,我想你有权选择你想要的任何东西。@MattiVirkkunen:带有描述的代码示例实际上非常适合学习。不过,我想你有权投票。请不要为此推荐正则表达式,给他一个学习的机会。请不要为此推荐正则表达式,给他一个学习的机会。