我工作的連接系統和UI將發佈以下PHP - 從字符串拉IDS並轉換爲數組
"artwork:56,artwork:34,music:123"
這將代表連接下面的媒體一個隱藏的字符串:
- 藝術品ID:56
- 藝術品ID:34
- 音樂ID:123
我想弄清楚的是如何在上面的字符串中提供並吐出我需要的id。
function getArtworkIds($string){
//Code Needed
}
結果[56,34]
任何幫助將是真棒,謝謝
我工作的連接系統和UI將發佈以下PHP - 從字符串拉IDS並轉換爲數組
"artwork:56,artwork:34,music:123"
這將代表連接下面的媒體一個隱藏的字符串:
我想弄清楚的是如何在上面的字符串中提供並吐出我需要的id。
function getArtworkIds($string){
//Code Needed
}
結果[56,34]
任何幫助將是真棒,謝謝
$string = "artwork:56,artwork:34,music:123";
$a = explode(',',$string);
$ids = array();
foreach($a as $i){
if(strpos($i,"art") !== false){
$ids[] = explode(':',$i)[1];
}
}
var_dump($ids);
輸出:56,34
的!== false
是很重要的,因爲strpos
將返回0
由於字符串以art
開頭。如果沒有!== false
檢查,您將得不到結果,因爲if
會將0
視爲布爾錯誤
爲什麼只有'藝術'?爲什麼不簡單的字符串比較整個字? –
將'explode()[0]'與''artwork''進行比較?可以,但它不必爲爆炸陣列保留一個單獨的變量或調用爆炸兩次... – ElefantPhace
無論如何你都會調用爆炸兩次,所以爲什麼不使用它 –
爆炸對昏迷,循環,爆炸冒號。如果UI發佈了更好的格式,它會更快(如果你有這個選項) –
我可以使它發佈不同的格式。我試圖讓一個領域連接媒體。想象這是一個乾淨的方式發回列表 – hrthrherhrehrehterth
然後發送一個真正的數組JSON編碼或序列化() –