PHP脚本返回数组数组?
我在读取数据的顺序创建的PHP脚本从Android应用PHP发送并保存在文件中,但在打开文本文件,我得到下面的语句: -PHP脚本返回数组数组?
ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
而不是数据有人可以告诉我哪里出错了,我该如何纠正它?
这里是我的PHP脚本: -
<?php
$password="";
$user="root";
$database="shadowpets";
$host="localhost";
$response=array();
$con=mysqli_connect($host,$user,$password,$database)or die("Unable to connect");
if($_SERVER["REQUEST_METHOD"]=="POST")
{
if(isset($_POST['OrderSummary']))
{
$data=$_POST['OrderSummary'];
$json=json_decode($data,true);
$file='text.txt';
$result=file_put_contents($file,$json);
$response["success"]=1;
$response["message"]="done";
}
else
{
$response["success"]=0;
$response["message"]="parameters not correctl formatted";
}
echo json_encode($response);
}
?>
您的$json
是一个多维数组,而功能file_put_contents()
只接受字符串,数组或数据流作为数据内容。当数组是一维数组时,它存储数组的每个元素。当数组是多维数组,就会造成,
PHP的通知:Array对/home/xxxxx/test.php字符串转换上 xx线
你可以测试简单的演示,这将存储ArrayArrayArray
在aaa.txt文件中。并且'Array'的数量是多维数组count([[1,2,3,4],[2],[3]])
的3个数,即3。
<?php
file_put_contents("aaa.txt", [[1,2,3,4],[2],[3]]);
问题已解决,我想知道如何读取它的元素并将其存储在数据库中 –
嗨,downvoter,你可以将你的想法放在这里。 –
这个答案不能是真的,因为OP会执行'file_put_contents($ file,json_decode($ _ POST ['OrderSummary'],true));'。如果'$ _POST ['OrderSummary']'确实是一个(多维)数组,那么他的文件中的输出将为空['json_decode([[],],true)'](https://ideone.com/ki9o12)返回'NULL' – DarkBee
检查的print_r($ _ POST [ 'OrderSummary'])写入文件之前。必须是数组,
应该是一个评论 – DarkBee
感谢您的建议,我想读的数组的内容,然后将其存储在数据库中你能否建议我这样做? –
坦率地说,我不知道一无所知的$ _ POST [“OrderSummary”]的内容, 如果你想要得到的全部内容为字符串,可使用此爆阵列上。 –
脚本中包含什么内容?你如何呈现数据? – hungrykoala
请显示您的代码 – KRIPS
如果我们不知道您的代码,我们应该如何知道您做错了什么?请阅读[问]。 –