最後一部分我從數據庫中的值:$ 250.00 100x100cm或1960.00 $ 500x500cmPHP的 - 只顯示的價值
如何讓這個它切掉價格,只能說明測量?
所以它應該只打印出:100x100cm或500x500cm
我希望這是很容易理解。
最後一部分我從數據庫中的值:$ 250.00 100x100cm或1960.00 $ 500x500cmPHP的 - 只顯示的價值
如何讓這個它切掉價格,只能說明測量?
所以它應該只打印出:100x100cm或500x500cm
我希望這是很容易理解。
試試這個:
$value = "250.00$ 100x100cm";
$value_parts = explode(" ", $value);
echo $value_parts[1];
使用explode(' ', $value);
並從結果數組中提取值[1]
。
echo array_pop(explode(' ', '250.00$ 100x100cm')); // 100x100cm
我的例子在做類似的事情 - 用array_pop()
我從explode()
檢索所得數組中的最後一個索引值,並返回它是echo
「d。
假設這是一個空格分隔件,沒有其他空間:
list($price, $measurement) = explode(" ", $value, 2);
注意,價格是可選的,如果你不希望它:
list(, $measurement) = explode(" ", $value, 2);
而「2」只是在測量空間有限的情況下保證安全。
它總是會是三位數字嗎? echo substr($string, -7);
否則,你可能需要一些正則表達式 preg_match("!\d+x\d+cm!", $value);
如果你總是有價格和尺寸之間的空間,你可以使用
$newVar = explode(" ", $yourVar);
用空格分割的值,然後只用echo $newVar[1]
顯示您dimensons。
foreach ($values as $value) {
list($price, $size) = explode(' ', $value);
echo $size;
}
如果多數民衆贊成在總是格式我會嘗試爆炸php功能。就像是;
$array = explode("$ ", "250.00$ 100x100cm");
然後,您可以只回聲出您需要的陣列的一部分......
笑,每個人都打我給它。看起來爆炸會做... – Dan 2011-06-06 19:44:29
爲什麼你在一個字符串中得到兩個值呢?規範化是你的朋友,我總是會做1NF,除非有一個非常好的理由不會因爲它使這種問題沒有實際意義而且實際上是免費的。你不會試圖將兩個整數合併成一個,你會嗎? – delnan 2011-06-06 19:49:19
@delnan - 顯然,除了你自己創建的項目之外,你還沒有完成許多項目。如果你有,你會知道有很多次你被卡住了/數據和數據庫格式不正確/寫得很差。有時候,你甚至沒有數據庫訪問權限,就像在這種情況下一樣,你需要有一個php解決方案。 – Dave 2011-06-09 14:43:55