请告诉我这里我做错了什么... PHP版本5.6.27使用wordpress 4.7.1。我创建了这个自定义插件。我的页面返回结果为"失败",尝试了2个不同的页面标题,并且都返回"失败",这告诉我它没有获得函数中的页面标题(位置)和函数无法返回else。
TABLE sales
| id | name | date | amount |
|----|------|------------|--------|
| 1 | Mike | 2016-12-05 | 67.15 |
| 2 | Mike | 2016-12-09 | 98.24 |
| 3 | John | 2016-12-12 | 12.98 |
| 4 | Mike | 2016-12-19 | 78.48 |
| 5 | Will | 2016-12-19 | 175.26 |
| 6 | John | 2016-12-22 | 14.26 |
| 7 | John | 2016-12-23 | 13.48 |
[电话] - 返回"失败"
答案 0 :(得分:2)
array_search返回0。 0 == php中的false(在php&#34中查找" truthy值;)将if语句中的检查更改为
groceries.map(&:keys)
=> [["bread", "eggs", "cheese", "butter"], ["juice", "milk", "tea", "sugar"]]
其他一切都可以保持不变。使用if($key !== false)
告诉php检查值是否完全匹配。
答案 1 :(得分:2)
对于此配置,当您只有一个页面"关于"结果如下:
array_search($title, array_column($locations, 'location'));
是0.当你签入时:
if ($key)
for" if" $ key参数等于false(因为它的值为零)。使这个功能像这样:
function telephone_shortcode() {
global $locations;
$title = get_the_title();
$key = array_search($title, array_column($locations, 'location'));
if (false !== $key)
return $locations[$key]['telephone'];
else
return 'fail';
}
一切都开始奏效了。对于教育,请阅读PHP Dock:http://php.net/manual/en/language.types.boolean.php#language.types.boolean.casting