2016-03-15 45 views
0

我需要一個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。

回答

3

如果我的理解正確,你想採取字符串a15,15,16,轉換爲數組,並刪除非數字值?

如果是這樣,這是很簡單的:

$subcatArray = explode(',', $_GET['subcat_id']); 
$subcatArrayNumeric = array_filter($subcat, 'is_numeric'); 

現在$subcatArrayNumeric將與 '15' 和 '16' 在一個數組,只。

工作例如:https://3v4l.org/hWSOj

0

,如果你不從你必須首先對其進行解析請求獲取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答案。

0

試試這個:

$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); 
相關問題