php分解-将数组拆分为行
我有一个小部件,它有3列名称/职业/注册用户可以根据需要添加任意多的人 但是数据是这样来的:php分解-将数组拆分为行,php,mysql,arrays,split,explode,Php,Mysql,Arrays,Split,Explode,我有一个小部件,它有3列名称/职业/注册用户可以根据需要添加任意多的人 但是数据是这样来的: Bob [1] => Smith - Administrator - 1234 James [2] => Richards - Technician - 4345353 数组([0]=>[{“名称”:“Bob[1]=>Smith”,“职业”:“管理员”,“注册”:“1234”},{“名称”:“James[2]=>Richards”,“职业”:“技师”,“注册”:“4345353”})
Bob [1] => Smith - Administrator - 1234
James [2] => Richards - Technician - 4345353
数组([0]=>[{“名称”:“Bob[1]=>Smith”,“职业”:“管理员”,“注册”:“1234”},{“名称”:“James[2]=>Richards”,“职业”:“技师”,“注册”:“4345353”})
使用的PHP代码:
$people=$_POST['q36_addIndividuals'];
$str = $people;
print_r (explode(' ',$str));
我希望它看起来像这样:
鲍勃·史密斯-管理员-1234James Richards-Technician-4345353打印功能仅粘贴阵列的结构 如果需要不同的表单,则需要遍历数组并为每个元素写出:
foreach($people as $element){
echo $element['Name']." - ".
$element['Occupation']." - ".
$element['Registration'];
}
您只有一些JSON数据,但它是不正确的 正确的版本是:
$data = '[{"Name":"Bob [1] => Smith","Occupation":"Administrator","Registration":"1234"},{"Name":"James [2] => Richards","Occupation":"Technician","Registration":"4345353"}]';
$data = json_decode($data);
foreach ($data as $json) {
echo $json->Name . ' - ' . $json->Occupation . ' - ' . $json->Registration;
echo "\n";
}
这将输出如下内容:
Bob [1] => Smith - Administrator - 1234
James [2] => Richards - Technician - 4345353
<>但是你应该考虑将第一个名字和姓氏存储在两个不同的值中,你可以访问它们。< /P>
您也可以“删除”[n]=>
,但这是一种肮脏的方式。我不推荐这个
$data = '[{"Name":"Bob [1] => Smith","Occupation":"Administrator","Registration":"1234"},{"Name":"James [2] => Richards","Occupation":"Technician","Registration":"4345353"}]';
$data = json_decode($data);
foreach ($data as $json) {
$json->Name = preg_replace(['/[[(0-9)]]|[=>]|[[]|/', '/ /'], ['', ' '], $json->Name);
echo $json->Name . ' - ' . $json->Occupation . ' - ' . $json->Registration; // not recommended
echo "\n";
}
请发布您的全部代码,以便我们进一步帮助您。例如,我们不知道
$\u POST['q36\u addIndividuals']
的值看起来像什么这是提交到我的php文件中使用的小部件[link],它只包含以下phpcode
$people=$\u POST['q36\u addIndividuals']$str=$people;打印(爆炸(“”,$str));你能做一个print\r($\u POST)吗编码>并将结果发布在您的问题中,请打印\u r($\u post);给出以下结果:[{“姓名”:“鲍勃·史密斯”,“职业”:“管理员”,“注册”:“12233”},{“姓名”:“詹姆斯·理查兹”,“职业”:“技术”,“注册”:“43453543”}]张贴整个arrayI都到了那里,并且确切地知道什么印刷品是空白的,我遗漏了什么吗?很抱歉,您可以放置以下内容并发布输出,以便我知道数组中的一个元素是什么吗?:foreach($people as$element){print_r(“next_element”);print_r($element);echo“”;}这完成了任务!我对你感激不尽!非常感谢您抽出时间来帮助我!对所有其他人也一样!!!!