PHP 将关联数组推入普通数组
PHP push associative array in normal array
我必须将关联数组推入普通数组(不转换)。
示例(无代码):
project = {}
element["title"] = "My title"
element["description"] = "My description"
有没有办法让这个
echo $project->title;
//or
echo $project[0]["title"]
?
我已经试过了,但服务器说:错误 500
$i = 0;
$projects = {};
foreach($projectsElements as $element) {
while($i <= $nRowsForProject) {
$idSection = $element->idSection;
if($idSection == 1) $elements["".$element->internalDescription.""] = $element->text;
else if($idSection == 2) $elements["".$element->internalDescription.""] = $element->text;
else if($idSection == 3) $elements["".$element->internalDescription.""] = $element->text;
$i++;
}
array_push($projects,$elements);
$i=0;
}
$projects = {};
无效 php.
如果你想初始化一个空数组(关联或数字,这无关紧要),你需要:
$projects = [];
或旧 php 版本:
$projects = array();
另请注意,您需要在每次迭代开始时对 $elements
数组执行相同操作,否则它会在每次迭代时增长。假设描述不完全相同...
foreach($projectsElements as $element) {
$elements = [];
while($i <= $nRowsForProject) {
...
而且您的 while
循环似乎没有多大意义:您没有在循环中使用 $i
变量,因此只是在每次迭代中进行相同的赋值。
$projects = []; // declare empty array
foreach($projectsElements as $element) {
$projects []= $element; // push $element into $projects array
}
$i = 0;
$projects = array();
foreach($projectsElements as $element) {
while($i <= $nRowsForProject) {
$elements = array();
$idSection = $element->idSection;
if($idSection == 1) $elements["".$element->internalDescription.""] = $element->text;
else if($idSection == 2) $elements["".$element->internalDescription.""] = $element->text;
else if($idSection == 3) $elements["".$element->internalDescription.""] = $element->text;
$i++;
}
array_push($projects,$elements);
$i=0;
}
我必须将关联数组推入普通数组(不转换)。
示例(无代码):
project = {}
element["title"] = "My title"
element["description"] = "My description"
有没有办法让这个
echo $project->title;
//or
echo $project[0]["title"]
? 我已经试过了,但服务器说:错误 500
$i = 0;
$projects = {};
foreach($projectsElements as $element) {
while($i <= $nRowsForProject) {
$idSection = $element->idSection;
if($idSection == 1) $elements["".$element->internalDescription.""] = $element->text;
else if($idSection == 2) $elements["".$element->internalDescription.""] = $element->text;
else if($idSection == 3) $elements["".$element->internalDescription.""] = $element->text;
$i++;
}
array_push($projects,$elements);
$i=0;
}
$projects = {};
无效 php.
如果你想初始化一个空数组(关联或数字,这无关紧要),你需要:
$projects = [];
或旧 php 版本:
$projects = array();
另请注意,您需要在每次迭代开始时对 $elements
数组执行相同操作,否则它会在每次迭代时增长。假设描述不完全相同...
foreach($projectsElements as $element) {
$elements = [];
while($i <= $nRowsForProject) {
...
而且您的 while
循环似乎没有多大意义:您没有在循环中使用 $i
变量,因此只是在每次迭代中进行相同的赋值。
$projects = []; // declare empty array
foreach($projectsElements as $element) {
$projects []= $element; // push $element into $projects array
}
$i = 0;
$projects = array();
foreach($projectsElements as $element) {
while($i <= $nRowsForProject) {
$elements = array();
$idSection = $element->idSection;
if($idSection == 1) $elements["".$element->internalDescription.""] = $element->text;
else if($idSection == 2) $elements["".$element->internalDescription.""] = $element->text;
else if($idSection == 3) $elements["".$element->internalDescription.""] = $element->text;
$i++;
}
array_push($projects,$elements);
$i=0;
}