如何在PHP中使用正则表达式显示过滤后的数组json
我有一个json数组,我想过滤一个json对象,其中**状态**键包含这个单词“ALTS”如何在PHP中使用正则表达式显示过滤后的数组json,php,json,Php,Json,我有一个json数组,我想过滤一个json对象,其中**状态**键包含这个单词“ALTS” $arr=数组( 排列( “地区”=>“从价1”, “价格”=>“从价11”, “状态”=“声明PAR/AMG/OMS/FRA/” ), 排列( “区域”=>“从价2”, “价格”=>“从价22”, “状态”=“声明PAR/AMG/OMS/ALTS/” ), 排列( “区域”=>“从价4”, “价格”=>“从价44”, “状态”=“声明PAR/AMG/OMS/FRA/” ), 排列( “地区”=>“从价
$arr=数组(
排列(
“地区”=>“从价1”,
“价格”=>“从价11”,
“状态”=“声明PAR/AMG/OMS/FRA/”
),
排列(
“区域”=>“从价2”,
“价格”=>“从价22”,
“状态”=“声明PAR/AMG/OMS/ALTS/”
),
排列(
“区域”=>“从价4”,
“价格”=>“从价44”,
“状态”=“声明PAR/AMG/OMS/FRA/”
),
排列(
“地区”=>“从价5”,
“价格”=>“从价55”,
“状态”=“声明PAR/AMG/OMS/ALTS/”
),
排列(
“区域”=>“从价3”,
“价格”=>“从价33”,
“状态”=“声明PAR/AMG/OMS/ALTS/PT”
)
);
$myJsonArray=json_encode($arr);
echo$myJsonArray;
我想找一个正则表达式的例子,它过滤这个数组,只返回一个数组,其中包含状态为“/ALTS”的对象。
有什么想法吗?你不需要正则表达式。如果找到一个单词,可以使用
strpos
函数
我想找一个例子..
你尝试了什么?Internet上的文档、教程和网站(如www.regexr.com)中也有很多例子,它们解释了正则表达式。嗨@daremachine,我不在这个例子中使用regex。我测试了你的解决方案,很好。非常感谢。很高兴我帮了你。
<pre>
$arr = array(
array(
"region" => "valore1",
"price" => "valore11",
"state" => "declare par /AMG/OMS/FRA/"
),
array(
"region" => "valore2",
"price" => "valore22",
"state" => "declare par /AMG/OMS/ALTS/"
),
array(
"region" => "valore4",
"price" => "valore44",
"state" => "declare par /AMG/OMS/FRA/"
),
array(
"region" => "valore5",
"price" => "valore55",
"state" => "declare par /AMG/OMS/ALTS/"
),
array(
"region" => "valore3",
"price" => "valore33",
"state" => "declare par /AMG/OMS/ALTS/PT"
)
);
$myJsonArray = json_encode($arr);
echo $myJsonArray;
</pre>
$newArr = [];
$findTerm = '/ALTS/';
foreach($arr as $key => $valArr)
{
if(strpos($valArrp['state'], $findTerm) !== false) {
$newArr[] = $valArr;
}
}