php - 三元运算符问题

标签 php

<分区>

我期待的输出是:

http://domain.dev/category/123

但实际输出是:""

$condition = true;
$categoryId = 123;
$result = 'http://domain.dev/category' . empty($condition) ? '' : '/' . $categoryId;

var_dump($result);

据我了解 - 它检查 empty($condition) 是否为空 - 如果为真,则将 http://domain.dev/category 附加到 '' 或者 else /$categoryId

我做错了什么?

最佳答案

只需将 () 放在语句周围:

$result = 'http://domain.dev/category' . (empty($condition) ? '' : '/' . $categoryId);

所以它被当作运算符

关于php - 三元运算符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41740460/

相关文章:

php - 使用PHP远程访问MySQL数据库

javascript - 在电子邮件中收到未填写的联系表格

php - 如何让用户以表单形式提交文本并使用 AJAX 将其输入到数据库并显示在同一页面上?

php - 无法更改 php session cookie 名称

php - 如何将数组发布到 MySQL

php - 使用 PHP 从数据库中获取 Blob 并将其用于 HTML 标记

php - 使用 PHP 了解 Apache 上的 “408 Request Timeout”

php - 如何从记录具有与另一个表最相似属性的表中选择记录

javascript - jQuery $.getJSON 不返回数据

php - 可捕获的 fatal error : Object of class PDOStatement could not be converted to string, w