【问题标题】:array_map and trim not trimming white space from valuesarray_map 和 trim 不从值中修剪空白
【发布时间】:2013-08-16 14:40:00
【问题描述】:

下面的这个函数返回一个逗号分隔的字符串

$key_1_value = get_post_meta(422,'keywords',true);

我的浏览器中的输出看起来像 red, white, blue, blue two , green, yellow, purple, magenta , cyan, black

我正在尝试修剪所有值之前和之后的空白。

所以我使用此代码尝试修剪空白,但它仍然存在。为什么这不会修剪值?

$test = array($key_1_value);
$trimmed_array=array_map('trim',$test);
print_r($trimmed_array);

【问题讨论】:

  • 更好var_dump($test)它。
  • 试试$trimmed = implode(',', array_map('trim', explode(',',$key_1_value)));$trimmed = preg_replace('\s*,\s*', ',', $key_1_value);

标签: php arrays trim


【解决方案1】:

$key_1_value 是字符串表示,而不是数组或带引号的字符串,您必须将其分解为数组项,而不仅仅是将其放入数组调用中,然后它就会变成一个正确的数组

$test = explode(",",$key_1_value);
$trimmed_array=array_map('trim',$test);
print_r($trimmed_array);

【讨论】:

  • 谢谢我没有意识到explode创建了一个数组我以为它只修改了字符串
  • explode 的原型是array explode ( string $delimiter , string $string [, int $limit ] ):因此它返回一个数组
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-08
  • 2018-08-26
  • 2017-03-16
  • 1970-01-01
  • 2014-11-23
相关资源
最近更新 更多