Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Assegnare un valore ad un array dentro ad un array

    Innanzitutto ciao a tutti.


    Modificando una versione particolare di Virtuemart (ecommerce open source per joomla) trovo il seguente codice:

    Codice PHP:
    foreach ($product->customPrices as $customPrice) {
        foreach (
    $customPrice as $customId => $custom_fieldId) {

            if ( 
    is_array($custom_fieldId) ) {
                foreach (
    $custom_fieldId as $userfieldId => $userfield) {
                    
    $productKey .= $customId ':' $userfieldId ';';
                    
    $product->userfield[$customId '-' $userfieldId] = $userfield;
                }
    ......................................... 
    ora, facendo un print_r di product (e leggendo il codice stesso), io so che questa è la struttura di $product (almeno la parte che mi interessa):
    $product contiene l'array customPrices che a sua volta contiene vari array numerati.

    Il caso che mi interessa è il numero 7 (VEDI SOTTO). Vorrei trasformare quell'array in un unica stringa.
    Ora, come faccio, una volta trasformato in stringa, a modificarlo dentro $product?
    ho provato:
    Codice PHP:
    $product->customPrices[$customId][$userfieldId] = "lamiastringa"
    ma non funziona

    Questo è un esempio del print_r di customPrices
    codice:
    [customPrices] => Array ( [0] => Array ( [7] => 10496 ) [1] => Array ( [23] => 10534 ) [2] => Array ( [24] => 10532 ) [3] => Array ( [25] => 10533 ) [4] => Array ( [26] => 10521 ) [5] => Array ( [27] => 10525 ) [6] => Array ( [37] => 10514 ) [7] => Array ( [40] => Array ( [10531] => zzzzz aaaaa ) ) )

    Grazie in anticipo dell'aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    cosa vuol dire che $product->customPrices[$customId][$userfieldId] = "lamiastringa"; non funziona? probabilmente ti serve una cosa come:
    Codice PHP:
    $product->customPrices[7] = "lamiastringa"
    cosa otteresti? Cioè senza il secondo indice, mi pare di capire.

  3. #3
    risolto utilizzando array replace
    codice:
    $product->customPrices[$numarray] = array_replace($product->customPrices[$numarray], $sostituz);

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ?! Ma il mio esempio non l'hai verificato? Mi sembra una complicazione in più... cmq l'importante è che vada...

  5. #5
    Originariamente inviato da eiyen
    ?! Ma il mio esempio non l'hai verificato? Mi sembra una complicazione in più... cmq l'importante è che vada...
    Sì ma mi serviva di sostituire non quello che c'è dentro a product->customPrice[7] ma dentro all'array in esso contenuto...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.