如何创建包含多个子数组的主数组并以Jason的形式,我想将子数组添加到循环中的主数组
MainArray=[
array1=[{fname:asdada,lastname:sdsadasda}];
array2=[{fname:asdada,lastname:sdsadasda}];
array3=[{fname:asdada,lastname:sdsadasda}];
];
echo MainArray[1]->fname;
请参阅以下伪代码:
你应该真正研究一个基本的PHP教程。
这就是你如何做到的。
$mainArray = [
'array1' => ['fname' => 'asdada', 'lastname' => 'sdsadasda'],
'array2' => ['fname' => 'asdada', 'lastname' => 'sdsadasda'],
'array3' => ['fname' => 'asdada', 'lastname' => 'sdsadasda']
];
echo $mainArray['array1']['fname'];
如果您有旧版本的php或想要向后兼容,请使用长记法。
$mainArray = array(
'array1' => array('fname' => 'foo', 'lastname' => 'bar'),
'array2' => array('fname' => 'lorem', 'lastname' => 'ipsum'),
'array3' => array('fname' => 'test', 'lastname' => 'example')
);
echo $mainArray['array1']['fname'];
php variable sigil是$
。这意味着,为了访问变量或为变量赋值,可以使用$mainArray
。在variables in the documentation上查看更多信息。
php array可以使用两种不同的符号。无论是array(...)
,还是从php 5.4向上,[...]
。除了打开和关闭部分,它们是相同的。您不使用:
或=
在数组声明中分配单个值。为此,您使用=>
运算符。数组中的每个元素都用逗号(,
)分隔。
EG
$mainArray = array(
'A' => 1,
'B' => 2
];
Php中的数组可以是关联的也可以是数字的。您可能想要的是您的外部数组是数字的,这意味着您可以使用$mainArray[1]
访问它,并且您的内部数组是关联的。对于数值数组,您不自己指定键,因此不需要=>
。
$mainArray = array(
array(),
array(),
array()
);
对于关联子数组,这变为:
$mainArray = array(
array('firstname' => 'foo', 'lastname' => 'bar'),
array('firstname' => 'test', 'lastname' => 'example'),
array('firstname' => 'lorem', 'lastname' => 'ipsum')
);
为了访问此多级数组结构中第一个子数组的firstname
键,您可以:
$mainArray[0]['firstname']
例如。 (如果你想将它回显到标准输出)
echo $mainArray[0]['firstname'];
请注意,php中的数字数组开始计数为0,与大多数其他编程语言一样。请注意,关联数组中的键是一个字符串,因此必须用'
或"
包围。
我可以推荐你search for a php beginner's tutorial并尝试自己编写和执行这些例子,以便更好地掌握php。如果你需要某个地方运行你的php示例,我可以建议你尝试在线php环境,如PHPFiddle。
您可以向关联数组添加更多key =>值对,或者之后向数值数组添加更多值,其方式与访问或分配给它的方式大致相同。
首先,让我们为数值数组添加一个值。您可以通过在分配时将[]
添加到变量的末尾来执行此操作。这意味着您分配的内容将作为新数值添加到数组的末尾。
$numericalArray = array(
7,
8,
6,
12,
'B'
);
$numericalArray[] = 'C';
// Results in the array: array(7, 8, 6, 12, 'B', 'C')
并且为了将新的key => value
对添加到关联数组中,您只需使用新密钥添加它,例如
$assoc = array(
'firstname' => 'Testy',
'lastname' => 'McTestface'
);
$assoc['middlename'] => 'Tester';
因此,要向mainArray添加新的fname-lastname对,您可以:
$mainArray = array(
array('fname' => 'foo', 'lastname' => 'bar'),
array('fname' => 'test', 'lastname' => 'example'),
array('fname' => 'lorem', 'lastname' => 'ipsum')
);
$mainArray[] = array('fname' => 'new name', 'lastname' => 'new last name');
如果你想在循环中这样做,你将使用for,foreach,while或do while结构。
EG
$mainArray = array(
array('fname' => 'foo', 'lastname' => 'bar'),
array('fname' => 'test', 'lastname' => 'example'),
array('fname' => 'lorem', 'lastname' => 'ipsum')
);
for ($i = 0; $i < 3; ++$i) {
$mainArray[] = array('fname' => 'new name ' . $i, 'lastname' => 'new last name ' . $i);
}
echo json_encode($mainArray, JSON_PRETTY_PRINT|JSON_UNESPACED_UNICODE|JSON_UNESCAPED_SLASHES), PHP_EOL;
// [
// {'fname': 'foo', 'lastname': 'bar'},
// {'fname': 'test', 'lastname': 'example'},
// {'fname': 'lorem', 'lastname': 'ipsum'},
// {'fname': 'new name 0', 'lastname': 'new last name 0'},
// {'fname': 'new name 1', 'lastname': 'new last name 1'},
// {'fname': 'new name 2', 'lastname': 'new last name 2'},
// ]