adaugare element nou intr-un array de obiecte

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
sterica
Mesaje: 285

adaugare element nou intr-un array de obiecte

Salutare,

Am un array de obiecte sub forma aceasta:

Cod: Selectaţi tot

$sql = [
{ 'nume': 'pop1', 'idTip': 0 },
{ 'nume': 'pop2', 'idTip': 1 },
{ 'nume': 'pop3', 'idTip': 2 },
]
si un aray de forma aceasta:

Cod: Selectaţi tot

$tipuri = [0 => 'Tip0', 1 => 'Tip1, 2 => 'Tip2' ]
Cum pot adauga in primul array inca un element denumireTip si sa se atribuie conform datelor din array-ul 2?
array-ul final

Cod: Selectaţi tot

$sql = [
{ 'nume': 'pop1', 'idTip': 0, 'denumireTip': 'Tip0' },
{ 'nume': 'pop2', 'idTip': 1, 'denumireTip': 'Tip1' },
{ 'nume': 'pop3', 'idTip': 2, 'denumireTip': 'Tip2' },
]
Multumesc!

MarPlo Mesaje: 4343
Salut,
Poti sa faci cum e in acest exemplu:

Cod: Selectaţi tot

$sql = '[
{ "nume": "pop1", "idTip": 0 },
{ "nume": "pop2", "idTip": 1 },
{ "nume": "pop3", "idTip": 2 }
]';

$tipuri = [0 => 'Tip0', 1 => 'Tip1', 2 => 'Tip2' ];

$sql = json_decode($sql, true);
$nrs = count($sql);
for($i=0; $i<$nrs; $i++){
  if(isset($tipuri[$i])) $sql[$i]['denumireTip'] = $tipuri[$i];
}

//Check
var_export($sql);

sterica Mesaje: 285
primesc o eroare pe linia

Cod: Selectaţi tot

json_decode($sql, true);
, eroare este: json_decode() expects parameter 1 to be string, array given
Am rezolvat problema in felul urmator:

Cod: Selectaţi tot

foreach ($sql as $item) {
                for ($i = 0; $i < $nrs; $i++) {
                    if ($item->idTip== $i) $item->denumireTip = $tipuri [$i];
                }
            }
M-a ajutat foarte mult logica de atribuire.
Multumesc!

Subiecte similare