Leggere valore da array multidimensionale a chiavi dinamiche

otto9due

Utente Attivo
22 Feb 2014
591
25
28
Buonasera e "quasi" buon anno a tutti. Mi trovo con un problema che non riesco a risolvere e quindi chiedo a voi qualche idea..
In pratica devo leggere il valore di un array multidimensionale ma le chiavi sono dinamiche (le incapsulo in un array che ricevo), ecco un esempio di come il framework Symfony ha risolto il problema:

PHP:
$persons = array('a' => array('b' => 5.7));
$accessor = PropertyAccess::createPropertyAccessor();
echo $accessor->getValue($persons, '[a][b]'); // 5.7

Ho fatto parecchi test simulando el più svariate soluzioni, ma ancora non sono arrivato ad una soluzione. Il problema è banalmante questo:

PHP:
<?php
$arr = [1,2,3=>[5,6,7],4];

$test_chiavi = [2][0];

// Chiaramente mi dice: Array to string conversion
var_dump($arr.$test_chiavi);

In pratica devo poter accedere al valore ma non riesco. Spero sia chiaro il discorso.
 

otto9due

Utente Attivo
22 Feb 2014
591
25
28
Ho trovato una soluzione girando online, devo dire molto semplice ma efficente, la posto anche qui, così che sia presente per chi la cercherà in futuro:
PHP:
  public function selectValueToValidate(array $arr, $path)
    {
        $parts = explode('.', $path);
        $ret = $arr;
        foreach ($parts as $part) {
            $ret = $ret[$part];
        }
        return $ret;
    }

che poi con un lieve refactoring può diventare:
PHP:
  public function selectValueToValidate(array $arr, $path)
    {
        $parts = explode('.', $path);
        foreach ($parts as $part) {
            $arr = $arr[$part];
        }
        return $arr;
    }
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M Leggere in un report il valore di una casella combinata di una maschera Database 0
A leggere campo db phpmyadmin ed associare il valore a campo nascosto Joomla 0
D PHP leggere cartella di Windows PHP 1
G leggere file txt e stampare con php il contenuto a video PHP 7
S Leggere dati da API e visualizzarli PHP 0
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
maxbossi Attenzione alle TRUFFE: Leggere attentamente!!! Annunci servizi di Social Media Marketing 0
J Leggere JSON da Instagram __a=1 PHP 0
L leggere RGB di un pixel dello schermo in java Java 1
felino Script PHP per leggere un file JSON. autenticazione? PHP 4
Q Leggere NFC da web app - web nfc Javascript 0
G Pec come leggere il contenuto Posta Elettronica 1
D [ASP] Leggere Campo decimal MYSQL Classic ASP 1
M leggere con jquery/ajax in una function javascript record di database sql server Javascript 0
P PHP - Leggere una pagina passata con Form e Captcha PHP 0
Drago73 [Java] leggere/scrivere txt server Java 0
C Leggere dati File.XMLcon PHP XML 11
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
M Leggere il contenuto di una cartella e memorizzare il nome file in mysql PHP 1
I [Javascript] Leggere "var" da file .js esterno (per google map) Javascript 6
W [PHP] Leggere un array un po complicato PHP 3
K Script PHP per leggere array.txt Presentati al Forum 3
H Interpretare e leggere il file log di sfc/scannow. Windows e Software 0
P leggere file .csv con javascript/jquery Javascript 11
V Leggere da db e metodi asincroni:vorrei capire jQuery 8
Monital Leggere un file php contenente dati json PHP 10
napuleone Leggere la scelta radio Javascript 0
Trapano Leggere un file .txt dal fondo PHP 7
Francesco Polese Leggere linea da un file ed eliminarla PHP 2
K leggere codice ean con fotocamera PHP 0
maxbossi Regolamento Regolamento della sezione - leggere ATTENTAMENTE prima di postare IP Cam e Videosorveglianza 0
P leggere dvd e memorizzazione dei dati letti PHP 1
L xmlrpc leggere le risposte. qualcuno mi aiuta? PHP 1
F Leggere file contenuti in cartella e modificarne il nome PHP 3
M Leggere dati da file excel in base al nome del foglio di lavoro PHP 0
felino [Ajax] Leggere in contenuto da un URL esterno Ajax 2
napuleone type="file" leggere con js Javascript 3
A leggere la data del client PHP 1
D batch leggere ultima riga e salvarla Programmazione 0
C Leggere variabili esterne ad una classe in php 5.2 PHP 6
P Leggere XML PHP 4
M Leggere file di grandi dimensioni Java 2
D leggere il contenuto di un file di testo in un file .JS Javascript 11
M Leggere hard-disk linux su Windows Windows e Software 1
L file. leggere dall'ultima riga alla prima PHP 1
Z [VB.NET] Leggere pagina HTML ed estrarre dati da tabella .NET Framework 1
L [c++] Problema leggere file txt riga per riga C/C++ 0
Trapano [risolto] Leggere da un file txt in ordine inverso PHP 2
K Leggere contenuto di una cartella quando viene aperto il file PHP 6

Discussioni simili