我创建了一个用户信息数组并将其发布到另一个页面以供使用..但是当我访问它时它不返回任何值..仅返回 A 或 r..
哪位 friend 可以帮帮我吗?
创建数组
<?php
$datas= array(
"Scountry"=>'ZA',
"SName"=>$SName,
"SCompany"=>$SCompany,
"SAddress"=>$SAddress,
"SAddress2"=>$SAddress2,
"SAddress3"=>$SAddress3,
"ssPlace"=>$fr[0],
"sZip"=>$fr[1],
"SPhone"=>$SPhone,
"SMobile"=>$SMobile,
"SEmail"=>$SEmail,
"SFex"=>$SFex
);
?>
我的帖子表单是
<form action="submit.php" method="post" id="submit" name="submit">
<input type="hidden" name="clientdata" id="clientdata" value="<?php print_r($datas); ?>">
<input type="submit" value="Submit"/>
</form>
以及我的submit.php访问代码
<?php
$clientdata = $_POST['clientdata'];
print_r($clientdata);
?>
当我用 print 打印它时
print_r($clientdata);
以下结果显示
Array ( [Scountry] => ZA [SName] => name [SCompany] => adfsd [SAddress] => asdf [SAddress2] => adsf [SAddress3] => asdf [ssPlace] => adfddfd [sZip] => 0037 [SPhone] => 222222222 [SMobile] => 9926036842 [SEmail] => <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a2c3c0c1e2c5cfc3cbce8cc1cdcf" rel="noreferrer noopener nofollow">[email protected]</a> [SFex] => 1111111111)
我的问题是当我访问数组属性的特定值时,它不打印...
echo $clientdata->Scountry;
没有结果显示
当我使用时
echo $clientdata[Scountry];
没有结果显示
任何人都可以帮忙吗...
最佳答案
您必须使用字符串作为数组的键。键必须位于 "
之间,否则 php 会认为您正在寻找常量。
echo $clientdata["Scountry"];
更新:
您不能仅将 print_r 数据作为输入字段中的值打印,您必须将其序列化。这会从数组创建一个 json 字符串。
<input type="hidden" name="clientdata" id="clientdata" value="<?php echo json_encode($datas); ?>">
现在,在您的代码中,您可以将此 json 字符串解码为对象:
$clientdata = json_decode($_POST['clientdata']);
echo $clientdata->Scountry;
关于php - 无法访问通过 PHP 中的 Post 方法发布的数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27224742/