$data[0] = "TESTaabsc";
$data[1] = "ffgaabsc";
$data[2] = "TESTffga";
for($i=0; $i<sizeof($data); $i++)
{
if (!is_null($data[$i][0]) && (???))
{
//...
}
}
如何檢索從$data
包含前綴TEST
?如何從包含前綴「TEST」的數組中檢索這些條目?
$data[0] = "TESTaabsc";
$data[1] = "ffgaabsc";
$data[2] = "TESTffga";
for($i=0; $i<sizeof($data); $i++)
{
if (!is_null($data[$i][0]) && (???))
{
//...
}
}
如何檢索從$data
包含前綴TEST
?如何從包含前綴「TEST」的數組中檢索這些條目?
使用strpos()
:
for($i=0; $i<sizeof($data); $i++)
{
if(strpos($data[$i], 'TEST') === 0)
{
// $data[$i] has the prefix
}
}
或獲得比賽在一個新的數組,你可以使用array_filter()
:
$result = array_filter($data, function($var){
return strpos($var, 'TEST') === 0;
});
print_r($result); // $result is an array containing the matches only
你可以這樣做:
if (!is_null($data[$i][0]) && strpos($data[$i], 'TEST')) {
//...
}
該做些什麼檢查數據[$ i]包含字符串'TEST'的位置。如果沒有找到,它將返回false。
給出一個很好的答案,而不是隻指出代碼 – Praveen
好點,更新 – user2622597
使用array_filter()
$results = array_filter($data, function ($value) {
return 0 === strpos($value, 'TEST');
});
,或者如果你熟悉正則表達式,嘗試preg_grep()
$results = preg_grep('/^TEST/', $data);
不同的是,strpos()
可能會比preg_grep()
更快,因爲正則表達式可能很昂貴。這一切都取決於您正在搜索的數據大小。
可能重複http://stackoverflow.com/questions/19361477/find-part-of-a-string-and-remove-it -from-an-an-an-an-an-an-an-an-an-an-an-an-an-an-array) –