PHP函数不返回密钥

时间:2017-01-22 20:23:28

标签: php wordpress

请告诉我这里我做错了什么... 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 |

[电话] - 返回"失败"

2 个答案:

答案 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