[PHP] Risultati dentro array precisi e confrontabili

trattorino

Utente Attivo
23 Lug 2016
173
1
18
43
Salve allora vediamo se riesco a spiegarmi, ho questo array con dentro degli id
PHP:
$IDGruppoA = array(33,4,36,45,47,38,34,6,32)

ho questa variabile che rilascia questi id
PHP:
$IDGruppoB = '4,36,32';
DOMANDA
è possibile far visualizzare in una condizione if l'array
che contiene solo il codice completo dell idgruppob?
 
ciao
una domanda
hai diverse array tipo $IDGruppoA = array(33,4,36,45,47,38,34,6,32)?
intanto se è così forse ti converrebbe creare un array di array es
PHP:
$IDGruppo['A'] = array(33,4,36,45,47,38,34,6,32);
$IDGruppo['B'] = array(22,14,38,55,31,22,44,5,30);
//ecc...
se è così si possono ciclare gli array, trattarli e trovare quello che ti serve
 
mi permetto,
se e solo se gli id sono univoci nelle varie array (quindi no duplicati)
puoi sbrigartela facilmente con "array intersect"
se il risultato è uguale alla array da controllare, sono uguali
provaci, è facile
 
ciao @marino
giusto con intersec, ma la mia domanda aveva un'altro scopo.
ormai la mia esperienza del forum mi ha fatto capire che è più difficile comprendere quello che vuole fare l'utente che dargli una soluzione, quindi secondo me è meglio approfondire prima quello che l'utente intende fare esattamente, quello che trattorino dice è una semplificazione del problema o no?
cioè confrontare solo A con B o per caso esistono altri gruppi C, D, E....?
se solo A e B non occorrono array di array, ma se ci sono altri gruppi e vuole conoscere in quali gruppi c'è la corrispondenza, a mio parere, è meglio operare con array di array con chiave primaria =nome del gruppo in modo da sapere se c'è corrispondenza e con quale gruppo o gruppi
 
in base a quanto ho capito ....
PHP:
$a1=array(33,4,36,45,47,38,34,6,32);

$IDGruppoB = '4,36,32';

$a2 = explode(",",$IDGruppoB);

$result=array_intersect($a1,$a2);

if ( count($a2) == count($result) ) { echo "tutti gli elementi sono presenti <br /><br />"; }
else                                { echo "no no non ci siamo <br /><br />"; }

print_r($a2); echo "<br /><br />";
print_r($result); echo "<br /><br />";

upload_2017-9-27_21-46-14.png

upload_2017-9-27_21-47-6.png

nota che nel risultato viene restituita la "key" che in questo caso assomiglia alla posizione
 
la domanda era semplicissima eh, non capisco cosa devo dirvi di più
ho questo array con dentro degli id
PHP:
$IDGruppoA = array(33,4,36,45,47,38,34,6,32)

ho questa variabile che rilascia questi id
PHP:
$IDGruppoB = '4,36,32';

gli array contengono numeri casuali e non hanno corrispondenze con il secondo, voglio solo che se su $IDGruppoB ci fosse un 4 se nell'array a sua volta comparisse un 4 allora mi puo far vedere la condizione..
ho provato questa if
Codice:
if(in_array($IDGruppoA, $IDGruppoB) {
ma funge solo se metto un numero di ricerca non una lista di numeri...come faccio a far cercare in $IDGruppoA un numero fra una lista di numeri presenti su $IDGruppoB
 
ho risolto così
PHP:
$mgroupothers = $row[id];
$a1=array($mgroupothers);
$a2=array(4,6,33,34,36);
$result=array_diff($a1,$a2);

if (count($result) == 0) {}
 

Discussioni simili