我想从键值列表中显示特定值。 这是我的代码:
if (isset($_POST) && count($_POST)>0 )
{
foreach($_POST as $paramName => $paramValue) {
echo "<br/>" . $paramName . " = " . $paramValue;
}
}
输出中
ORDERID = ORDS3700373
TXNAMOUNT = 200.00
CURRENCY = INR
TXNID = 32221284
BANKTXNID = 475815
STATUS = TXN_SUCCESS
RESPCODE = 01
RESPMSG = Txn Successful.
TXNDATE = 2017-01-10 18:13:25.0
GATEWAYNAME = WALLET
BANKNAME =
PAYMENTMODE = PPI
CHECKSUMHASH =
这里我只想显示ORDERID和TXNID ..我如何获得该值?
答案 0 :(得分:1)
您可以通过它的字段名称轻松访问帖子值,而不是遍历所有帖子元素。只需直接访问这些元素,如下所示:
if(isset($_POST['ORDERID'])) {
echo 'ORDERID = '.$_POST['ORDERID'];
}
if(isset($_POST['TXNID'])) {
echo 'TXNID= '.$_POST['TXNID'];
}
答案 1 :(得分:0)
你可以像这样在循环中使用if条件
if (isset($_POST) && count($_POST)>0 )
{
foreach($_POST as $paramName => $paramValue) {
if($paramName == 'ORDERID' || $paramName == 'TXNID')
echo "<br/>" . $paramName . " = " . $paramValue;
}
}
答案 2 :(得分:0)
添加if like
if($paramName == "ORDERID" || $paramName == "TXNID") {
在foreach之后,记得在echo语句行之后关闭它
答案 3 :(得分:0)
不要用循环过度复杂化一项微不足道的任务。 只需放下循环并直接回显两个值:
// Assuming the two values are expected to come in pair:
if(isset($_POST['ORDERID']) && isset($_POST['TXNID'])) {
echo "<br/>ORDERID = " . $_POST['ORDERID'];
echo "<br/>TXNID = " . $_POST['TXNID'];
}
如果你坚持循环,那么你可以浏览你需要的属性名称
foreach(array('ORDERID', 'TXNID') as $paramName) {
if(isset($_POST[$paramName])) {
echo "<br/>" . $paramName . " = " . $_POST[$paramName];
}
}
答案 4 :(得分:0)
将评论移至答案。
您不需要循环发布它只是global array
。您可以像任何关联数组一样访问任何value
的{{1}},因为它就是这样。同样,这些key
可以像任何其他
value
安全注意事项永远不会信任用户输入,并在回显或保持之前清理所有if(isset($_POST['ORDERID'])){
$orderid = $_POST['ORDERID'];
}
if(isset($_POST['TXNID'])){
$txnid = $_POST['TXNID'];
}
// Should use htmlspecialchars() or htmlentities() here
// but didn't want to confuse OP. It is for security.
echo "ORDERID is: " . $orderid . " and TXNID is: " . $txnid;
变量。互联网上的文章远比我在这里总结得多。