php分解-将数组拆分为行

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”})

我有一个小部件,它有3列名称/职业/注册用户可以根据需要添加任意多的人

但是数据是这样来的:

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));
我希望它看起来像这样:

鲍勃·史密斯-管理员-1234

James 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],它只包含以下php
code
$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“
”;}这完成了任务!我对你感激不尽!非常感谢您抽出时间来帮助我!对所有其他人也一样!!!!