Avatar billede gtu Nybegynder
03. april 2013 - 09:52 Der er 1 kommentar og
1 løsning

Cannot use string offset as an array

Jeg kan ikke slippe af med denne fejl: Cannot use string offset as an array

Virker fint hvis løkken kun køre 1 gang, lige så snart den køre anden gang fejler den.

$json = array(); 

$json['contact-count'] = $Count; 

for ($i=0; $i < $Count ; $i++) {

    $json['contact'][$i]['Firstname']  = $firstname;
    $json['contact'][$i]['Lastname']    = $lastname;
    $json['contact'][$i]['Address']    = $address;

}

echo json_decode($json,true);


Jeg prøver at ende med dette resultat:

{
  "contact-count":"2",
  "contact":[
      {
        "Firstname":"hans",
        "Lastname":"hansen",
        "Address":"et eller andet stedet"
      },
      {
        "Firstname":"lars",
        "Lastname":"larsen",
        "Address":"et eller andet stedet"
      }
  ]
}
Avatar billede jakobdo Ekspert
03. april 2013 - 11:59 #1
Test lige denne:

//Dette er nok overkill
$json = array('contact-count' => 0, 'contact' => array());

//Formoder $Count er ANTAL
$json['contact-count'] = $Count;

for ($i=0; $i < $Count ; $i++) {
  $contact = array('Firstname' => $firstname, 'Lastname' => $lastname, 'Address' => $address);
  $json['contact'][] = $contact;
}

echo json_decode($json,true);
Avatar billede jakobdo Ekspert
03. april 2013 - 13:00 #2
Takker for point.

Og denne:

$contact = array('Firstname' => $firstname, 'Lastname' => $lastname, 'Address' => $address);
  $json['contact'][] = $contact;

Kan jo sagtens laves som:

$json['contact'][] = array('Firstname' => $firstname, 'Lastname' => $lastname, 'Address' => $address);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester