我有一个如下所示的数组数组,我想检查[avs_id]是否包含子字符串“a_b_c”。如何在PHP中执行此操作?
Array
(
[id] => 10003
[avs_id] => a_b_c_3248
)
Array
(
[id] => 10003
[avs_id] => d_e_f_3248
)
答案 0 :(得分:1)
您可以使用void kadane(int A[], int N, int& bestStart, int& bestEnd, int& bestSum)
{
int max_ending_here = 0;
int max_so_far = 0;
bestStart = 0;
for (int i = 0; i < N; i++)
{
max_ending_here += A[i];
if (max_ending_here < 0)
{
max_ending_here = 0;
}
if (max_ending_here > max_so_far)
{
max_so_far = max_ending_here;
bestEnd = i;
}
}
}
:
array_filter()
的 eval.in demo 强>
结果保持原始键,因此您可以直接检索匹配子字符串的项目。
如果您只想检查子字符串是否存在,或者是否包含子字符串的项目数,请使用:
$src = 'a_b_c';
$result = array_filter
(
$array,
function( $row ) use( $src )
{
return (strpos( $row['avs_id'], $src ) !== False);
}
);
答案 1 :(得分:0)
循环遍历数组并使用strpos测试数组特定元素中的字符串,如下面的示例代码所示。
foreach($yourMainArray as $arrayItem){
if (strpos($arrayItem['avs_id'], 'a_b_c') !== false) {
echo 'true';
}
}
答案 2 :(得分:0)
循环可能更理想,但是如果你知道字符串所在的数组索引:
$arr = array('id'=>'10003', 'avs_id'=>'a_b_c_3248');
if (strpos($arr['avs_id'], 'a_b_c') !== false) {
echo 'string is in avs_id';
}
答案 3 :(得分:0)
您可以使用:
foreach($yourArray as $arrayItem){
if (strpos($arrayItem['avs_id'], 'a_b_c') !== false) {
//return true : code here
}
}