Cautare valori egale in 2 array-uri multidimensionale
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
andras
- Mesaje:430
Cautare valori egale in 2 array-uri multidimensionale
Salut,
Am 2 array-uri rezultate din 2 interogari pe 2 tabele in BD. Vreau sa caut daca un cimp (adica o cheie) din primul array exista in al doilea array, iar daca valoarea acelei chei este egala cu o anumita variabila, sa pun in primul array valoarea 1 intr-un alt cimp (cheie) Am incercat:
Cod: Selectaţi tot
<?php
foreach($result as $row){ //$result este primul array
$cheie = $row['id']; // id-ul user
// acum vreau sa caut cimpul (cheia) 'elevid' din $result2 (al doilea array) si daca are valoarea $cheie ma intorc la primul array si pun valoare 1 in alt cimp
if(array_key_exists('elevid', $result2) && $result2['elevid']== $cheie){
echo 'gasit cheia';
$row['cecelev']=1;
}
}
?>
Nu-mi iese deloc, nu stiu unde gresesc. Care ar fi instructiunea corecta? Multumesc.
MarPlo
Mesaje:4343
Salut
Daca si $result2 e un array cu doua dimensiuni, cred ca trebuie foreach() aplicat si la $result2, sa ai 2 foreach() imbricate.
Iar valoarea 1, ca sa fie adaugata la $result, se aplica la acesta (nu la $row, care e variabila tranzitorie)
Incearca asa:
Cod: Selectaţi tot
foreach($result as $k =>$row){ //$result e primul array multidimensional
//caut cimpul (cheia) 'elevid' din $result2 (array multidimensional) si compar cu valoarea id din $result
//daca valorile sunt egale, aplica 1 la campul 'cecelev' din $result din randul curent parcurs
foreach($result2 as $row2){
if(isset($row2['elevid']) && $row['id'] == $row2['elevid']){
$result[$k]['cecelev'] =1;
echo 'Gasit: '. $row['id'];
}
}
}
- Daca nu reusesti sa rezolvi, posteaza aici cele doua array-uri sa vedem structura lor. Poti sa aplici acest cod ca sa copii array-urile:
Cod: Selectaţi tot
var_export($result);
echo '<br>';
var_export($result2);
andras
Mesaje:430
Functioneaza corect cu foreach imbricat. Scopul acestor instructiuni este (simplificat) ca in tabelul html corespunzator primului array am un checkbox, care la afisare sa fie deja bifat daca id-ul exista in al doilea tabel. De fapt verific 2 cimpuri, dar ideea e aceeasi. Multumesc!
Subiecte similare
- Setare valori din array in select tag
JavaScript - jQuery - Ajax
Primul mesaj
Salut am un array cu orele de functionare
$data = array (
'0400' => '04:00 AM',
'0430' => '04:30 AM',
'0500' => '05:00 AM',
'0530'...
Ultimul mesaj
Testeaza urmatorul cod.
Daca ceva mai trebuie schimbat, incearca si tu sa modifici dupa cum stii, in functie de ce vrei sa obtii.
Open:...
- parametru din array in query cu laravel
PHP - MySQL - XML
Primul mesaj
Salutare,
din frontend primesc urmatorul array:
$arrClienti =
dupa care ii fac implode
$idClienti = preg_replace('/ /i', '', implode( , ,...
Ultimul mesaj
Dupa multe sapaturi, am ajuns la concluzia ca nu se poate rula ca parametru o matrice. Doar daca parametrul cu matricea este rulat intr-un loop....
- Indexi valorilor din array care fac suma
PHP - MySQL - XML
Primul mesaj
Salutare,
am un array cu urmatoarele numere:
arr =
si o variabila, care poate contine numere intregi de la 50 pana 750 (750 este suma...
Ultimul mesaj
Mulțumesc mult marplo, este ceea ce îmi trebuie
- implode(): Passing glue string after array is deprecated
PHP - MySQL - XML
Primul mesaj
Dupa 7 ani !
Acum, revazand o veche aplicatie cu codul Multiple Select Drop Down list cu tabel 3 coloane +1; am constatat ca datorita upgradarii...
Ultimul mesaj
OK ! Eu nu am inteles despre ce parametri era vorba. S-a rezolvat, multumesc pentru promptitudinea cu care mi-ai raspuns ! TOATE CELE BUNE !!!