我有一些WordPress自定义字段数据,我正在循环并创建一个逗号分隔的字符串。 (小)问题是如果我在循环之前没有将属性设置为空/ null等,我会收到警告。
我想如果字符串还没有存在,你就不能连接它。虽然我得到了警告,但foreach做了我需要的,没有错误。
要停止警告,我已将该属性设置为空字符串以启动:
$memlog->postnominals = "";
foreach (get_field('post_nominals', $post->id) as $postnominal) {
$memlog->postnominals .= $postnominal->post_title . ", ";
}
虽然不是一个大问题,但我宁愿知道我是否有办法在不设置空字符串的情况下做到这一点?
答案 0 :(得分:2)
不要先使用连接,join
数组,这样你以后也不必剥离最后一个,
:
$memlog->postnominals = join(', ', array_column(get_field(...), 'post_title'));
array_column
仅适用于PHP 7+中的对象,旧版本使用地图:
$memlog->postnominals = join(', ', array_map(
function ($p) { return $p->post_title; },
get_field(...)
));
答案 1 :(得分:0)
请使用数组然后将数据从数组中内爆以形成逗号分隔的字符串。
示例:
$aa = array(1 => 'a', 2 => 'b', 3 => 'c');
foreach ($aa as $k => $v) {
$b[] = $v;
}
print_r(implode(',', $b));