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

    cerca di sottostringhe all'interno di stringhe

    io ho scritto questo piccolo pezzo di codice:
    codice:
    if (strstr($row_controllo['categoria'], 'antipast'))
      $num_antipasti += 1;
    if (strstr($row_controllo['categoria'], 'prim'))
      $num_primi += 1;
    if (strstr($row_controllo['categoria'], 'second'))
      $num_secondi += 1;
    if (strstr($row_controllo['categoria'], 'dolc'))
      $num_dolci += 1;
    ma non funziona proprio!all'inizio ho pensato che magari strstr fosse key-sensitive ma anche scrivendolo giusto con le maiuscole al posto corretto non funziona ugualmente. ho provato anche con strpos ma non cambia nulla.
    come faccio a cercare delle sottostringhe all'interno di una data stringa?
    lo so che la soluzione sarà semplicissima, ma cercando sul manuale mi incasino che oggi ho la testa che scoppia.

    mi date una mano perfavore? Grazie!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Prova così:

    if ( strpos($row_controllo['categoria'], 'antipast') === true )
    $num_antipasti += 1;
    ...

  3. #3
    avevo provato anche così!ma nulla grazie lo stesso!

    ho fatto una prova per vedere se la variabile $row['categoria'] abbia effettivamente un valore; e ho notato che il valore ce l'ha e corrisponde ad uno di quelli presenti nei vari if, quindi non saprei spiegarmi perché non mi aggiorna il contatore

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    if (ereg("antipast",$row_controllo['categoria']))
    $num_antipasti += 1;

  5. #5
    Grazie!
    ho usato eregi in modo che non faccia distinzione tra maiuscole e minuscole; però funziona correttamente!

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    era un problema di trimming o cosa ??

    comunque strpos ti torna la posizione in cui inizia il match, quindi potrebbe tornare 0 avendola trovata... il corretto uso è
    Codice PHP:
    if (FALSE!==strpos($haystack$needle))
      echo 
    'trovato!'
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  7. #7
    Utente di HTML.it L'avatar di pyotrex
    Registrato dal
    Feb 2003
    Messaggi
    554
    Proprio oggi stavo valutando il metodo migliore per verificare l'estensione di un file, confrontando un array che contiene le estensioni permesse tipo array(jpg,jpeg) con l'estensione già estratta ed elaborata dal nome del file.

    Io pensavo di scartare a priori le espressioni regolari in quanto penso che non sia necessario "scomodarle" per così poco, e volevo stuzzicare la vostra fantasia per mettere a confronto tecniche diverse, vediamo se qualcuno mi ascolta.
    Vivrò una vita intera e fortunatamente morirò una volta sola

  8. #8
    se l'estenzioni permesse sono dentro ad un array ti basta usare la funzione in_array

    Codice PHP:
    if (in_array("jpeg"$estensioni)) {
       echo 
    "Estensione consentita";

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  9. #9
    Originariamente inviato da drAlberT
    era un problema di trimming o cosa ??

    comunque strpos ti torna la posizione in cui inizia il match, quindi potrebbe tornare 0 avendola trovata... il corretto uso è
    Codice PHP:
    if (FALSE!==strpos($haystack$needle))
      echo 
    'trovato!'
    ho letto solo ora la tua risposta.
    non so che problema fosse alla fine; sicuramente non di trimming, ammesso che per trimming intendiamo la stessa cosa. perché sui dati che ricevevo, oltre ad altre funzioni, applicavo anche un bel trim().

    la sintassi che usavo era quella che trovavo sul manuale, quindi con l'operatore ===
    dal manuale:
    Avvertimento
    Questa funzione può restituire il Booleano FALSE, ma può anche restituire un valore non-Booleano valutato come FALSE, come ad esempio 0 o "". Per favore fare riferimento alla sezione Booleans per maggiori informazioni. Usare l'operatore === per controllare il valore restituito da questa funzione.
    però non funzionava!e non ne capivo il motivo
    comunque usando eregi ora funziona tutto!

    grazie comunque per la dritta
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10
    Utente di HTML.it L'avatar di pyotrex
    Registrato dal
    Feb 2003
    Messaggi
    554
    Originariamente inviato da 13manuel84
    se l'estenzioni permesse sono dentro ad un array ti basta usare la funzione in_array

    Codice PHP:
    if (in_array("jpeg"$estensioni)) {
       echo 
    "Estensione consentita";

    Ieri sera leggevo proprio quello che hai appena citato e penso che sia la tecnica + veloce fino a che qualcuno non mi smentisce
    Vivrò una vita intera e fortunatamente morirò una volta sola

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 © 2024 vBulletin Solutions, Inc. All rights reserved.