Object PHP加载对象数组
我想用.csv中的对象加载数组 当我像强制字符串一样编写JSON时,一切正常,我的代码工作正常 当我尝试创建对象并将它们加载到数组中时,新对象将覆盖数组中的所有对象,我得到了一个充满相同值的数组。对我的错误有什么建议吗 最后,变量内容给出了有效的JSON(不带“[]”括号),但数组contentArr给出了充满相同对象的数组 代码如下:Object PHP加载对象数组,object,Object,我想用.csv中的对象加载数组 当我像强制字符串一样编写JSON时,一切正常,我的代码工作正常 当我尝试创建对象并将它们加载到数组中时,新对象将覆盖数组中的所有对象,我得到了一个充满相同值的数组。对我的错误有什么建议吗 最后,变量内容给出了有效的JSON(不带“[]”括号),但数组contentArr给出了充满相同对象的数组 代码如下: $content = ''; $contentArr = array(); $Obj =
$content = '';
$contentArr = array();
$Obj = new stdClass();
$count = 0;
while ($csv = fgetcsv($file,1000,",")) {
$content .= "{\"number\":\"".$csv[0]=Filter($csv[0])."\",\"message\":\"".$csv[1]."\"},";
$count++;
$Obj -> number = $csv[0]=Filter($csv[0]);
$Obj -> message = $csv[1];
$contentArr[] = $Obj;
}
$content = substr($content, 0, -1);
我希望这段代码可以帮助你
$openFile = fopen($file, "r");
while(!feof($openFile)){
$csv = fgetcsv($file);
//your code here
}
fclose($openFile);
我自己解决了
我的错误是,在while循环之前,我只更改了一个对象的链接。当我将对象创建移动到while循环中时,我正在为加载到数组中的每个新数据创建新对象
代码:
$content = '';
$contentArr = array();
//$Obj = new stdClass(); ----> this was my mistake
$count = 0;
while ($csv = fgetcsv($file,1000,",")) {
$content .= "{\"number\":\"".$csv[0]=Filter($csv[0])."\",\"message\":\"".$csv[1]."\"},";
$count++;
$Obj = new stdClass();// ----> that's how it should be
$Obj -> number = $csv[0]=Filter($csv[0]);
$Obj -> message = $csv[1];
$contentArr[] = $Obj;
}
$content = substr($content, 0, -1);
谢谢,但这不是问题,我在将对象加载到数组时遇到了问题。从csv获取信息很好。这只是我代码的一部分,因为原始代码大约有400行。