如何在php中搜索数组中的特定字符串

时间:2013-10-25 11:36:02

标签: php arrays

如何从数组中获取特定字符串,我给出了数组的示例,如下所示

Array
(
    [0] => Paper:300gsm Silk
    [1] =>  Lamination:Gloss
    [2] =>  Despatch:Standard 5 day
) 

我需要搜索数组中是否有Despatch可用,如果可用,则获取给定:及其Standard 5 day

之后的值

数组中没有修复序列,也没有像Despatch:Standard 5 day这样的修复字符串,它可能会更改为Despatch:Standard 2 dayDespatch:Standard 5 day或可能是Despatch:24 hours

4 个答案:

答案 0 :(得分:2)

首先,看看关联数组。然后你的数组看起来像这样:

$myArray
(
    ['Paper'] => 300gsm Silk
    ['Lamination'] =>  Gloss
    ['Despatch'] =>  Standard 5 day
) 

你可以这样称呼它:

$value = $myArray['Despatch']

答案 1 :(得分:1)

使用array_walk()函数进行回调。在回调中进行子串搜索

答案 2 :(得分:0)

你可以使用foreach并爆炸

foreach ($array as $value) {
   $exp = explode(':', $value);
   if ($exp[0] == 'Despatch') return $exp[1];
}

答案 3 :(得分:0)

这是你想要的结果吗?

$arr = array("Paper:300gsm Silk",
            "Lamination:Gloss",
            "Despatch:Standard 5 day"
            );

$searchword = "Despatch";
$matches = array_filter($arr, function($var) use ($searchword) { return preg_match("/\b$searchword\b/i", $var); });


$res=substr($matches[2],9);
echo $res;