2013-07-15 86 views
0

我使用庫將本地WebSQL DB同步到服務器,具體爲https://github.com/orbitaloop/WebSqlSync。 我用PHP:5.4.7, 當我試圖讓數組值如下,我得到的消息陣列中的非法字符串偏移量

非法串偏移「clientes」

的$ OBJ變種是:

Array 
(
    [info] => 
    [data] => Array 
     (
      [clientes] => Array 
       (
       ) 
      [conceptos_gastos] => Array 
       (
       ) 
     [formaspago] => Array 
      (
       [0] => Array 
        (
         [idFormaPago] => 10 
         [FormaPago] => qwerqwe 
         [Dias] => 1 
         [Cuotas] => 1 
         [last_sync_date] => 
        ) 
      ) 
     [listaprecios] => Array 
      (
      ) 
     [producto] => Array 
      (
      ) 
     [repartidores] => Array 
      (
      ) 

     [tipodocumento] => Array 
      (
      ) 

     [vehiculos] => Array 
      (
      ) 
     [zonas] => Array 
      (
      ) 
    )  
) 

這是循環

foreach ($obj as $row => $value) { 
echo $row["clientes"]["fomaspago"]["FormaPago"]; 
} 

永遠感激所有幫助

+0

好像'data'應該是你的第一個維度在你的數組中。 –

+0

在foreach循環中使用$ obj [「data」]而不是$ obj – insanebits

回答

0

感謝所有,但唯一的方式工作是如下:

foreach($obj->data->formaspago as $formaspago) { 
    print " id ".$formaspago->idFormaPago; 
    print " Formapago ".$formaspago->FormaPago; 
    print " dias ".$formaspago->Dias; 
    print " cuotas ".$formaspago->Cuotas; 
    print " lastsyncdate ".$formaspago->last_sync_date; 
} 
foreach($obj->data->clientes as $formaspago) { 
    print " id ".$formaspago->IdCliente; 
    print " Cliente ".$formaspago->Cliente; 

} 
2

它似乎是

$row["data"]["clientes"] // which is an empty array 

$row["data"]["formaspago"][0]["FormaPago"] // which should output "qwerqwe" 
+0

我嘗試了以下方法:foreach($ obj as $ row => $ value){ $ row [「clientes」] [「fomaspago」] [0 ] [ 「FormaPago」];我試過$ row [「data」] [「formaspago」] [0] [「FormaPago」] [0] [「FormaPago」] [0] [「FormaPago」] –

0

元件$行[ 「clientes」] [ 「fomaspago」] [ 「FormaPago」];確實不存在 - 查看輸出:第一行「info」沒有該索引,第二行「data」具有「clientes」,也是「fomasgapo」,但沒有「clientes」「fomasgapo」。 您需要可以通過不同的看法不同的或循環結構數據...

+0

「]仍然是同樣的錯誤,也是$ row [」data「] [」formaspago「] [」FormaPago「] –

+0

是的,因爲這些元素不存在!順便說一句,你可以通過預先檢查ifset($ row ... index ...)來避免錯誤... – MBaas

+0

你可以嘗試$ row [「formasgapo」] - 應該輸出一些東西... – MBaas

相關問題