2015-11-06 31 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