将 var 作为字符串传递给数组
passing var as string to an array
我相信这非常简单。
我试图将保存在 var 中的值作为数组传递给另一个 var。
我有一个 var $guideinValue
,其中包含以逗号分隔的值字符串。这些值代表类别 ID。
当我 echo
$guideinValue
它显示 18,19
这是正确的类别 ID。
我试图在 wordpress var $selected_cats
.
中使用这些
当我手动输入 $selected_cats = array(18,19);
时一切正常
print_r 的 1$selected_cats1 显示 Array ( [0] => 18 [1] => 19 )
但是当我使用 $selected_cats = array($guideinValue);
时,print_r
显示 Array ( [0] => 18,19 )
而 c
没有任何作用
为什么会发生这种情况,我该如何修正我的语法?
使用explode
函数很简单。
array explode ( string $delimiter , string $string [, int $limit ] );
工作示例:
$array = explode(",", $guideinValue);
这是使用 array_values()、array_filter() 和 explode() 的正确方法
$selected_cats = array_values(array_filter(explode(',', $guideinValue)));
explode()
- 中断字符串
array_filter()
- 清除空值
array_values()
- 重新排列数组索引以从 0
开始
我相信这非常简单。 我试图将保存在 var 中的值作为数组传递给另一个 var。
我有一个 var $guideinValue
,其中包含以逗号分隔的值字符串。这些值代表类别 ID。
当我 echo
$guideinValue
它显示 18,19
这是正确的类别 ID。
我试图在 wordpress var $selected_cats
.
当我手动输入 $selected_cats = array(18,19);
时一切正常
print_r 的 1$selected_cats1 显示 Array ( [0] => 18 [1] => 19 )
但是当我使用 $selected_cats = array($guideinValue);
时,print_r
显示 Array ( [0] => 18,19 )
而 c
为什么会发生这种情况,我该如何修正我的语法?
使用explode
函数很简单。
array explode ( string $delimiter , string $string [, int $limit ] );
工作示例:
$array = explode(",", $guideinValue);
这是使用 array_values()、array_filter() 和 explode() 的正确方法
$selected_cats = array_values(array_filter(explode(',', $guideinValue)));
explode()
- 中断字符串
array_filter()
- 清除空值
array_values()
- 重新排列数组索引以从 0