Php 将相似的字符串值组合成唯一的字符串值

Php 将相似的字符串值组合成唯一的字符串值,php,arrays,wordpress,string,post-meta,Php,Arrays,Wordpress,String,Post Meta,我正在从Wordpress CPT获取一个post meta,它以单独的形式返回多个字符串,而不是数组,如下所示: $data = $calendar->data(); foreach ($data as $event) { $days = get_post_meta( $event->ID, 'sp_day', true ); var_dump($days); } 字符串(1)“1”字符串(1)“1”字符串(1)“1”字符串(1)“1”字符串(1)“1”字符串(

我正在从Wordpress CPT获取一个post meta,它以单独的形式返回多个字符串,而不是数组,如下所示:

$data = $calendar->data();
foreach ($data as $event) { 
    $days = get_post_meta( $event->ID, 'sp_day', true );
    var_dump($days);
}
字符串(1)“1”字符串(1)“1”字符串(1)“1”字符串(1)“1”字符串(1)“1”字符串(1)“1” 字符串(1)“1”字符串(1)“2”字符串(1)“2”字符串(1)“2”字符串(1)“2”字符串(1)“2” 字符串(1)“2”字符串(1)“2”字符串(1)“3”字符串(1)“3”字符串(1)“3”字符串(1)“3” 字符串(1)“3”字符串(1)“3”字符串(1)“3”字符串(1)“4”字符串(1)“4” 字符串(1)“4”字符串(1)“4”字符串(1)“4”字符串(1)“4”字符串(0)” 字符串(0)”“字符串(0)”“字符串(0)”“字符串(0)”“字符串(0)”“字符串(0)”

我试图将它转换成数组,比如
$days=array(get_post_meta($event->ID,'sp_day',true))转储值为:

数组(1){[0]=>string(1)“1”}数组(1){[0]=>string(1)“1”} 数组(1){[0]=>string(1)“1”}数组(1){[0]=>string(1)“1”} 数组(1){[0]=>string(1)“1”}数组(1){[0]=>string(1)“1”} 数组(1){[0]=>string(1)“2”}数组(1){[0]=>string(1)“2”} 数组(1){[0]=>string(1)“2”}数组(1){[0]=>string(1)“2”} 数组(1){[0]=>string(1)“2”}数组(1){[0]=>string(1)“2”} 数组(1){[0]=>string(1)“3”}数组(1){[0]=>string(1)“3”} 数组(1){[0]=>string(1)“3”}数组(1){[0]=>string(1)“3”} 数组(1){[0]=>string(1)“3”}数组(1){[0]=>string(1)“3”} 数组(1){[0]=>string(1)“4”}数组(1){[0]=>string(1)“4”} 数组(1){[0]=>string(1)“4”}数组(1){[0]=>string(1)“4”} 数组(1){[0]=>string(1)“4”}数组(1){[0]=>string(1)“4”} 数组(1){[0]=>string(0)“}数组(1){[0]=>string(0)“} 数组(1){[0]=>string(0)“}数组(1){[0]=>string(0)“} 数组(1){[0]=>string(0)“}数组(1){[0]=>string(0)“}

然后我尝试了
array\u merge()
array\u unique()

上述步骤都没有解决这个问题。正如您所看到的,我们多次重复值,我希望它们是唯一的,以便每个值只获得一次,例如“1、2、3、4、5等”


非常感谢您的建议

您可以在for循环之前添加一个空数组,在for循环内部,您可以检查该项是否存在于数组中,如果不存在,您可以将该项添加到数组中

$data=$calendar->data();
$result=[];
foreach($data as$event){
$days=get_post_meta($event->ID,'sp_day',true);
if(!in_数组($days,$result)){
$result[]=$days;
}
}
var_dump($结果);

您是说您在循环中调用这两行,并且$event->ID的值不同吗?否则,您所说的一开始就没有意义-单个函数调用不能同时返回多个字符串。如果这是在循环中,那么您可能只想向数组添加新项,因此在循环之前将$days初始化为空数组,然后执行
$days[]=get_post_meta(…)内部。有助于以后只获取唯一的值。是的,它在一个循环中。我编辑了问题并显示了循环。我已经试过你的建议了,但是没有用。请告诉我你当时是怎么尝试的。