【问题标题】:For or Foreach for this request result?对于这个请求结果是 For 还是 Foreach?
【发布时间】:2019-11-24 07:28:05
【问题描述】:

返回 mi Laravel 请求我得到了他的答案:

{
"_method": "POST",
"_token": null,
"nome": "AUTO ESCOLA GUILHERMITTI & LOBANCO LTDA",
"cnpj": "00635344000177",
"novoSegmento": null,
"natureza": "206-2",
"total": "49993",
"socio-0": "ELIANA CRISTINA GUILHERMITTI RODRIGUES  49-Sócio-Administrador",
"socio-1": "SUZANA MARQUES LOBANCO  49-Sócio-Administrador",
"socio-2": "AMARILDO APARECIDO RODRIGUES  49-Sócio-Administrador",
"socio-3": "VALDEMIR FRANCISCO DA COSTA  22-Sócio",
"socio-4": "ANDRE LUIS LOBANCO  49-Sócio-Administrador",
"nomeFantasia": null,
"IE": null,
"logradouro": null,
"numero": "1408",
"complemento": null,
"bairro": null,
"uf": "SP",
"cidade": "Bady Bassitt",
"ddd": null,
"telefone": null,
"ddd1": null,
"celular": null,
"receita1": "0.00",
"referenciaClientes": [
{
"nome": null
},
{
"ddd": null
},
{
"telefone": null
},
{
"ramal": null
},
{
"endereco": null
},
{
"bairro": null
},
{
"uf": null
},
{
"cidade": null
},
{
"cep": null
},
{
"email": null
}
],
"BancoreferenciaClientes": [
{
"contato": null
}
],
"referenciaCLientes": [
{
"complento": null
}
],
"banco": null,
"agencia": null,
"contaCorrente": null,
"bancoContato": null,
"telefoneBanco": null,
"cidadeBanco": null,
"imoveis": [
{
"enderecoBem": null
},
{
"areaBem": null
},
{
"valorBem": "0.00"
},
{
"cidadeBem": null
}
],
"aceite": "1"
}

我需要保存所有项目,但不知道如何正确处理socio-*。它是可变的,我永远不会知道它会发生多少次。

我对如何处理这个问题有点迷茫...... 我想我应该得到多少次 'socio' 使用:

$s = substr_count($request, 'socio');

现在我必须将它保存为 json,例如:


    socio-0{
    nome: "ELIANA CRISTINA GUILHERMITTI RODRIGUES",
    qual: "49-Sócio-Administrador"
    },

【问题讨论】:

  • 这看起来像 json 格式。试试json_decodeforeach 应该不错
  • 你只需要计数吗
  • 如果您发布完整的响应负载,我们可能会为您提供更好的帮助。如果您只需要计数,请将其分解为冒号或其他内容,然后将其包装在 sizeof()

标签: laravel for-loop foreach


【解决方案1】:

我希望你的数据格式是 Json 所以先改成 array 然后使用 foreach

$array_data = json_decode($json,true);

$data = [];
foreach($array_data as $key => $value)
{
   // first we are checking key should be not array and then socio- is exists
   if(!is_array($key) && strpos($key, 'socio-') !== false)
   {
      $number = substr($value, strlen('socio-'));
      $data[$number] = $value;
   }
}
dd($data);

所以你会得到这样的回应

[
 0 =>'ELIANA CRISTINA GUILHERMITTI RODRIGUES',
 1 =>'SUZANA MARQUES LOBANCO',
 2 =>'AMARILDO APARECIDO RODRIGUES',
 3 =>'VALDEMIR FRANCISCO DA COSTA',
 4 =>'ANDRE LUIS LOBANCO',
];

【讨论】:

  • 我可以用json_encode改回json并保存吗?
  • 是的,你能做到吗?还是要再次保存所有数据?
  • 我想在数据库字段中保存为json
  • 数组到 json 你可以使用 json_encode 并保存它吗?
  • 尝试一下,如果您认为此答案帮助您标记为答案
猜你喜欢
  • 1970-01-01
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多