如何用2个数组创建对象数组?

时间:2019-05-20 15:05:28

标签: php

我正在尝试创建对象数组,但是这对我来说有点困难。你们可以帮我吗?

这就是我现在拥有的:

              $id_mercado = strip_tags($obj->idMercado);


                $sql    = "SELECT * FROM mercados WHERE id = $id_mercado";
                $stmt   = $pdo->prepare($sql);
                $stmt->execute();

               $row  = $stmt->fetch(PDO::FETCH_OBJ);
               $siglas = explode("\n", $row->dicionario_familias_sigla);
               $significados = explode("\n", $row->dicionario_familias_significado);

               class Dicionario{
                public $siglas;
                public $significados;
                }

                $listaFiltros = new Dicionario(); 
                        $listaFiltros->siglas = $siglas;
                        $listaFiltros->significado = $significados; 

所以siglas是

["EX", "RO", "DI", "OR", "VE"]

Significado是

["Exoticos","Rosas","Diversos","Orquideas","Verdes"]

我想要的输出是:

0: {sigla: "EX", significado: "Exoticos"} 
1: {sigla: "RO", significado: "Rosas"} 
2: {sigla: "DI", significado: "Diversos"} 
3: {sigla: "OR", significado: "Orquedeas"}
4: {sigla: "VE", significado: "Verdes"}

更新

for($i = 0; count($significados)> $i; $i++){
                $listaFiltros[] = (object) array('sigla' => $siglas[$i], 
                                                 'significado' => $significados[$i]);
 }

1 个答案:

答案 0 :(得分:0)

我不使用PDO,但是您可以使用从SELECT语句返回的字段,填充对象,然后将其推入所需的数组中……

$myArr = []; 

$object = (object)[
    "sigla": $row->dicionario_familias_sigla,
    "significado": $row->dicionario_familias_significado
];

array_push($myArr, $object);