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


how to search a particular string in array in php

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

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

首先,看一下关联数组。那么你的数组看起来像这样:

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

然后你可以这样称呼它:

$value = $myArray['Despatch']

将 array_walk() 函数与回调一起使用。在回调中执行子字符串搜索

你可以使用 foreach 和 explode

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

这是你想要的结果吗?

$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;