2015-11-06 61 views
2

我試圖連接序列化數組中的兩個值。我有這個工作很好。問題是在這種情況下值Size之一,包含空白。我需要刪除這個空白。我之前使用preg_match從變量/字符串中刪除空格。我在這裏遇到的問題是,如果這是正確的方法,我可能會在這種情況下執行preg_matchPHP:從數組的非序列化條目中刪除空格

foreach($contents as $item) 
{ 
    $save = array();     
    $item = unserialize($item); 
    **$item['sku'] = $item['sku'] . '' . $item['options']['Size'];** 
    //echo '<pre>'; 
    //print_r($item['sku']); 
    //exit(); 
    $save['contents'] = serialize($item); 
    $save['product_id'] = $item['id']; 
    $save['quantity'] = $item['quantity']; 
    $save['order_id'] = $id; 
    $this->db->insert('order_items', $save); 
} 

非常感謝。

+1

它只是一個變量。如果你之前可以使用正則表達式,爲什麼你現在不能?僅僅因爲它是數組的一部分並不會改變你如何使用正則表達式。 –

回答

1

您可以簡單地使用str_replace函數是這樣的:

$item['sku'] .= ' ' . str_replace(' ', '', $item['options']['Size']); 
+0

謝謝巴勃羅,那工作的一種享受。 –

4

PHP的函數名稱爲trim(),允許修剪字符串。

+2

如果空白不在字符串的任何一端,則無用。 ('foo bar') – HPierce

+1

@HPierce當然,我沒有考慮過這種情況。我想我們需要詢問那些工作不正常的實際數據...... :)如果只是在字符串的任何一端(或兩端),trim()應該更好/更快。 – Smar