我正在尝试给API调用一个字符串值来查找列表。我有以下代码:
$network_name = get_option('blogname');
$list_name = $network_name.' '.$cat_name;
echo "the list name is: ".$list_name;
$filters['list_name'] = $list_name;
$listid = $api->lists->getList( $filters );
当我回显$list_name
值时,它看起来不错,但不会从api调用中返回任何结果。但是,如果我使用以下代码:
$list_name = 'School Soccer News & Notifications';
$filters['list_name'] = $list_name;
$listid = $api->lists->getList( $filters );
我得到了一个结果。硬编码值与我动态计算列表名称时完全相同。为什么会这样?
更新:这是两者的输出:
The list name is: School Soccer News & Notifications
The list name is: School Soccer News & Notifications
它们完全相同。
编辑:我做了字符串比较,这是代码:
$cat = get_the_category( $post_ID );
$cat_name = $cat[0]->name;
$network_name = get_option('blogname');
$list_name = $network_name.' '.$cat_name;
$list_name_concate = $list_name;
$list_name = 'School Soccer News & Notifications';
$string_comaprison = strcmp( $list_name_concate, $list_name );
我在$string_comaprison
上得到1的结果,所以我猜他们不一样。
我也做了一个var_dump,结果如下:
string(38) "School Soccer News & Notifications"
string(34) "School Soccer News & Notifications"
数据库正在将News & Notifications
存储为News & Notifications
,这导致了问题。
答案 0 :(得分:1)
要从HTML格式转换为普通字符串格式,有一个函数
$list_name=htmlspecialchars_decode($list_name)
尝试一下,它应该可行