我不熟悉php。
我从表单发帖,我的php看起来像这样:
// Object syntax looks better and is easier to use than arrays to me
$post = new stdClass;
// Usually there would be much more validation and filtering, but this
// will work for now.
foreach ($_POST as $key => $val)
$post->$key = trim(strip_tags($_POST[$key]));
在表单上我有Fist Name,Last Name,Address,Zip,City,State等字段。
信息将显示在我下一页的表格中(例如):
<?php echo $post->name; ?>
因为我正在使用对象语法。
如果我希望显示地址的单元格组合完整地址,我是这样写的:
<?php echo $post->address, city, state, zip; ?>
我基本上想要显示地址,因为地址通常会显示(例如123 This street,City,AZ,55555)
理想情况下,它将以逗号分隔,因为地址将被写入。所以我相信我现在不能正确地做到这一点。
答案 0 :(得分:7)
试试这个:
<?php echo htmlspecialchars("{$post->address}, {$post->city}, {$post->state}, {$post->zip}"); ?>
花括号允许您将PHP对象引用括在一个字符串中(而不是必须使用连接)。
答案 1 :(得分:3)
每次要从中引用属性时,都需要使用$post->
。 echo
的不同参数将连接字符串。因此,如果您想要显示这些属性,请用逗号分隔:
<?php echo $post->address, ',', $post->city, ',', $post->state, ',', $post->zip; ?>
答案 2 :(得分:3)
如果post对象中的项目顺序是您需要的顺序:
echo implode(', ', (array) $post);
如果没有,您需要按照许多其他答案进行概述,例如:
echo "{$post->address}, {$post->city}, {$post->state}, {$post->zip}";
如果您输出到HTML,则缺少重要的一点:
echo htmlspecialchars(implode(', ', (array) $post));
RESP:
echo htmlspecialchars("{$post->address}, {$post->city}, {$post->state}, {$post->zip}");
答案 3 :(得分:3)
就个人而言,我的Address
对象中有一个Post
对象。所以它看起来如下:
class Post {
var $title;
var $address;
}
class Address {
var $street_address;
var $locality;
var $region;
var $postal_code;
function __toString() {
return implode(', ', array($this->street_address, $this->locality, $this->region, $this->postal_code));
}
}
$address = new Address($street_address, $locality, $region, $postal_code);
$post = new Post('title', $address);
然后你可以用逗号来抓住你的地址:
<p id="address"><?php echo $post->address; ?></p>
address
属性将是您的Address
对象的一个实例,当您回显它时,它将调用该对象的__toString
魔术方法,输出以逗号分隔的地址组件。
答案 4 :(得分:3)
你可以简单地创建变量变量:
foreach ($_POST as $key => $val)
{
${$key} = trim( strip_tags($val) );
}
echo "$street, $city, $state, $zip";
检查pastebin上的完整代码:http://pastebin.com/MMpSVjNv
答案 5 :(得分:2)
<?php echo $post->address.", ".$post->city.", ".$post->state.", ".$post->zip; ?>
。-operator在php中连接字符串。 你应该看一下php教程来解决这个问题:http://tut.php-quake.net/en/
答案 6 :(得分:2)
关闭,但不完全:
<?php echo $post->address, "<br>", $post->city, " ", $post->state, "<br>", $post->zip ?>
echo可以采用多个以逗号分隔的参数。另一种方法是使用多个echo调用。