Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带空参数的sprintf检测_Php_Variables_Conditional Statements_Printf - Fatal编程技术网

Php 带空参数的sprintf检测

Php 带空参数的sprintf检测,php,variables,conditional-statements,printf,Php,Variables,Conditional Statements,Printf,我正在尝试为带有搜索结果的HTML页面准备元素。用户可以提供各种条件来搜索表单,例如城市、地区、类型。用户可以提供每个标准,也可以不提供任何标准。我想根据所选标准生成标题 我的代码: $criteria = array('city' => $_POST['city'], $region = $_POST['region'], type => $_POST['type']); $titleBase = 'You are looking for %s, %s, %s - mySite.c

我正在尝试为带有搜索结果的HTML页面准备元素。用户可以提供各种条件来搜索表单,例如城市、地区、类型。用户可以提供每个标准,也可以不提供任何标准。我想根据所选标准生成标题

我的代码:

$criteria = array('city' => $_POST['city'], $region = $_POST['region'], type => $_POST['type']);
$titleBase = 'You are looking for %s, %s, %s - mySite.com';
$title = sprintf($titleBase, $criteria['city'], $criteria['region'], $criteria['type']);
parse($title, '<title>');
$criteria=array('city'=>$\u POST['city',$region=$\u POST['region'],type=>$\u POST['type']);
$titleBase='您正在查找%s,%s,%s-mySite.com';
$title=sprintf($titleBase、$criteria['city']、$criteria['region']、$criteria['type']);
解析($title,”);
效果: 您正在寻找城市、地区、类型-mySite.com

这很好,但若用户不提供“区域”和“类型”呢?我会: 您正在查找,,键入-mySite.com


有什么解决方案吗?

有很多可能的方法,从非常有针对性的修复和推广开始

最简单的方法应该是这样的:

$lookingFor = implode(', ', array_filter($criteria));
$title = 'You are looking for '.$lookingFor.' - mySite.com';

有很多可能的方法,从非常有针对性的修复和推广开始

最简单的方法应该是这样的:

$lookingFor = implode(', ', array_filter($criteria));
$title = 'You are looking for '.$lookingFor.' - mySite.com';