我需要一個help.i需要刪除那些也有一些字母的ID並使用PHP插入到數組中。我在下面解釋我的代碼。如何刪除值,同時獲取帶有數字的字母使用php
http://oditek.in/spesh/mobileapi/categoryproduct.php?item=1&acn=5&subcat_id=a15,15,16
在這裏subcat_id
我有一個ID a15
我需要wheile來得快,剩下的應該插入到array.Please幫我刪除此類型的ID。
我需要一個help.i需要刪除那些也有一些字母的ID並使用PHP插入到數組中。我在下面解釋我的代碼。如何刪除值,同時獲取帶有數字的字母使用php
http://oditek.in/spesh/mobileapi/categoryproduct.php?item=1&acn=5&subcat_id=a15,15,16
在這裏subcat_id
我有一個ID a15
我需要wheile來得快,剩下的應該插入到array.Please幫我刪除此類型的ID。
如果我的理解正確,你想採取字符串a15,15,16
,轉換爲數組,並刪除非數字值?
如果是這樣,這是很簡單的:
$subcatArray = explode(',', $_GET['subcat_id']);
$subcatArrayNumeric = array_filter($subcat, 'is_numeric');
現在$subcatArrayNumeric
將與 '15' 和 '16' 在一個數組,只。
嘗試preg_replace用於獲取數字ID
,如果你不從你必須首先對其進行解析請求獲取URL。
<?php
$url = "http://oditek.in/spesh/mobileapi/categoryproduct.php?item=1&acn=5&subcat_id=a15,15,16";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
$ids = explode(",",$query_params['subcat_id']);
print_r($ids);
foreach($ids as $index => $id){
if(is_numeric($id) === false){
unset($ids[$index]);
}
}
print_r($ids);
?>
的在我的例子中循環可以通過array_filter更換($ IDS, 'is_numeric')像jszobody答案。
試試這個:
$url = 'http://oditek.in/spesh/mobileapi/categoryproduct.php?item=1&acn=5&subcat_id=a15,15,16';
$parts = parse_url($url);
$q = array();
parse_str($parts['query'], $q);
$subcatIds = explode(',', $q['subcat_id']);
$subcatIds = array_map(function($element){ return filter_var($element, FILTER_SANITIZE_NUMBER_INT);}, $subcatIds);
print_r($subcatIds);
結果是:
Array ([0] => 15 [1] => 15 [2] => 16)
工作例如:CLICK!
所以基本上,如果你有subcat_id
在$_GET
,那麼你只需要兩行:
$subcatIds = explode(',', $_GET['subcat_id']);
$subcatIds = array_map(function($element){ return filter_var($element, FILTER_SANITIZE_NUMBER_INT);}, $subcatIds);