php - 将相似的字符串值组合成唯一的值
问题描述
我正在从 Wordpress CPT 获取一个帖子元数据,它单独返回多个字符串形式而不是数组,如下所示:
$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)“2”字符串(1)“2”字符串(1)“2”字符串(1)“2”字符串(1)“2”字符串(1)“2”字符串(1)“3”字符串(1)“3”字符串( 1)“3”字符串(1)“3”字符串(1)“3”字符串(1)“3”字符串(1)“4”字符串(1)“4”字符串(1)“4”字符串(1 ) "4" string(1) "4" string(1) "4" string(0) "" string(0) "" string(0) "" string(0) "" string(0) "" string( 0) ""
我试图将它转换为数组,就像$days = array(get_post_meta( $event->ID, 'sp_day', true ));
转储值是:
数组(1){[0]=>字符串(1)“1”}数组(1){[0]=>字符串(1)“1”}数组(1){[0]=>字符串(1) "1" } 数组(1) { [0]=> 字符串(1) "1" } 数组(1) { [0]=> 字符串(1) "1" } 数组(1) { [0]=>字符串(1)“1”}数组(1){[0]=>字符串(1)“2”}数组(1){[0]=>字符串(1)“2”}数组(1){[ 0]=>字符串(1)“2”}数组(1){[0]=>字符串(1)“2”}数组(1){[0]=>字符串(1)“2”}数组( 1) { [0]=> 字符串(1) "2" } 数组(1) { [0]=> 字符串(1) "3" } 数组(1) { [0]=> 字符串(1) "3 " } 数组(1) { [0]=> 字符串(1) "3" } 数组(1) { [0]=> 字符串(1) "3" } 数组(1) { [0]=> 字符串( 1) "3" } 数组(1) { [0]=> 字符串(1) "3" } 数组(1) { [0]=>字符串(1)“4”}数组(1){[0]=>字符串(1)“4”}数组(1){[0]=>字符串(1)“4”}数组(1){[ 0]=>字符串(1)“4”}数组(1){[0]=>字符串(1)“4”}数组(1){[0]=>字符串(1)“4”}数组( 1) { [0]=> 字符串(0) "" } 数组(1) { [0]=> 字符串(0) "" } 数组(1) { [0]=> 字符串(0) "" } 数组(1) { [0]=> 字符串(0) "" } 数组(1) { [0]=> 字符串(0) "" } 数组(1) { [0]=> 字符串(0) "" }} 数组(1) { [0]=> 字符串(0) "" } 数组(1) { [0]=> 字符串(0) "" } 数组(1) { [0]=> 字符串(0) " " } 数组(1) { [0]=> 字符串(0) "" }} 数组(1) { [0]=> 字符串(0) "" } 数组(1) { [0]=> 字符串(0) "" } 数组(1) { [0]=> 字符串(0) " " } 数组(1) { [0]=> 字符串(0) "" }
比我尝试的array_merge()
和array_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_array($days, $result)) {
$result[] = $days;
}
}
var_dump($result);
推荐阅读
- mod-rewrite - 有人可以解释这些 Apache 重写规则吗?
- python - RuntimeError:未找到 Scipy
- javascript - 如何删除嵌套数组中存在名称属性未定义的 JSON 对象
- c# - 如何以递归方法从列表中返回字符串
- javascript - 如何用滚动间谍确定拇指高度?
- docker - 在 VS Code 中调试 .NET Core Docker 容器
- python - 多重继承,给父母双方的构造函数一个参数
- php - 如何从 laravel 5.6 中的路径创建文件实例
- go - 制作 btcd 时出错:未定义:time.Until
- c++ - 在流中多次设置值