Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    5

    [PHP] - Creare nuovo array dopo confronto

    Salve, magari la mia domanda è banalissima eh... ma come faccio a creare un nuovo array contenente gli elementi risultanti uguali dal confronto di altri due?
    Cioè ho arr1 ed arr2, gli elementi uguali tra questi due (che son tutte stringhe) devo buttarli dentro ad arr3!

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    5
    Ho provato ad utilizzarlo così:

    codice:
    for ($i=0; $i<strlen($stringa); $i++) {
    				$stringa[$i];
    }
    
    $codice_cognome = array_intersect($confronto,$stringa);
    Ma poi mi dice: array_intersect() [function.array-intersect]: Argument #2 is not an array

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Secondo te cosa dovrebbe fare quel for?
    Secondo me non fa niente.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    5
    E pure tu c'hai ragione, se utilizzo array_push ha senso?
    array_push($arr_stringa, $stringa[$i]) funge?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ma tu cosa vuoi fare?
    $stringa è una stringa, non è un array, giusto?

    In tal caso non la puoi usare in array_intersect(), perché la funzione accetta solo array come input.

    D'altro canto, se $stringa è una semplice stringa, non ha senso fare un'intersezione, l'intersezione sarà sempre un array vuoto o un array contenente solo una stringa, quella contenuta in $stringa.
    In tal caso ti basta controllare se nell'array c'è o meno la stringa contenuta in $stringa.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    5
    Si, $stringa è una stringa.

    Mi hanno consigliato if(in_array($stringa, $confronto)), però poi come faccio a mettere gli elementi che trova in uno nuovo?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ma perché devi mettere in risultato in un array?
    Gli array sono fatti per contenere più elementi, secondo quanto scrivi tu l'array intersezione ne conterrà 1 o 0, quindi tanto vale che dopo il confronto continui ad usare $stringa.

    Codice PHP:
    if(in_array($stringa,$confronto))
    {
        
    //usi $stringa che contiene il valore che avresti messo nell'array intersezione
    }
    else
    {
       
    $stringa '';
       
    //continui ad usare $stringa che ora è vuota, così come sarebbe vuoto l'array intersezione


  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    5
    Effettivamente... mi ero fossilizzata sul mettere il risultato in un array nuovo e mi sono impantanata.
    Comunque ho risolto, grazie mille per gli aiuti!! ;D

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.