RSS
 

Posts Tagged ‘concatenare stringhe’

Concatenare stringhe con php

19 Oct

Questo post per molti potrà sembrare inutile ma per altri potrebbe essere manna dal cielo: spesso non si pone troppa attenzione, nella concatenazione di stringhe con php, agli apici che si stanno utilizzando. Non tutti si ricordano di posizionare il carattere \ prima di un doppio apice quando la stringa è delimitata da doppi apici. Farò ora qualche esempio sperando di chiarire le idee una volta per tutte:

Apici singoli o doppi: che differenza fa?

Per prima cosa bisogna sapere che racchiudere una stringa tra apici singoli o doppi non è la stessa cosa. Se si utilizzano i doppi apici si possono inserire all’interno della stringa anche delle variabili:

$var = “ore”;

$stringa = “che $var sono?”;

$stringa assumerà il valore che ore sono?.

La stessa cosa non è possibile con gli apici singoli:

$var = “ore”;

$stringa = ‘che $var sono?’;

In questo caso $stringa assumera il valore che $var sono? Tutto chiaro? E con gli apici singoli, per ottenere lo stesso risultato che si ha utilizzando gli apici doppi, bisogna concatenare le diverse stringhe utilizzando il “.” (punto):

$stringa = ‘che ‘. $var .’ sono?’;

Personalmente, quindi, preferisco utilizzare gli apici doppi. Se, però, nella stringa compare di nuovo il carattere ” (doppio apice) bisogna precederlo con “\”. Il carattere “\” indica al preprocessore che sta per arrivare un carattere speciale. Se, poi, si vuole inserire una variabile di tipo array come $array["ciao_mondo"] bisogna fare attenzione al fatto che contiene i doppi apici.  In un primo momento si potrebbe pensare di dover stampare $array[\"ciao_mondo\"], ma è sbagliatissimo. Per cui l’alternativa è inserire gli array tra parentesi graffe. Per farla breve, le parentesi graffe “isolano” un blocco di codice ed in questo caso specifico è come se concatenando la stringa venisse elaborato il contenuto delle parentesi graffe e venisse restituito proprio come se si fosse operato nel primo modo. Forse ci ho girato troppo attorno quindi eccovi l’esempio:

$array["ciao_mondo"] = “ore”;

$stringa = “che {$array["ciao_mondo"]} sono”;

Quando è preferibile utilizzare gli apici singoli o doppi?

Io, personalmente, utilizzo gli apici singoli quando devo inserire del codice HTML come ad esempio: $codice_html = ‘<div id=”identificatore”> … </div>’; In questo modo posso inserire tutte le volte che voglio dei doppi apici. Se facessila stessa cosa con gli apici doppi, mi raccomando di fare attenzione a questa cosa, dovrei fare: $codice_html = “<div id=\”identificatore\”> … </div>”; Il risultato sarebbe cmq lo stesso.

Condividi questo post sui tuoi social network preferiti:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
 
View Comments

Posted in tutto

 

Passare parametri in C e concatenare stringhe

20 Apr

Il listato in C che segue non ha una vera utilità, se non quella di prendere domestichezza con la malloc e con funzioni per concatenare le stringhe come strcat, strcpy e malloc.

E’ ridotto al minimo per essere il più corto possibile ma se un programma è corto non significa che sia anche migliore. Bisogna sempre tenere conto che prima di tutto, secondo me, il codice deve essere sempre più leggibile che altro. Creare un codice migliore ma meno leggibile ci costerà meno nell’immediato, ma nelle successive modifiche dovremo perdere tempo per comprendere ciò che si era scritto in passato.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (int argc, char * argv[])
{
char * NuovaSuperStringa;

/* Alloco tanta memoria quanta ne serve per contenere le due stringhe */
NuovaSuperStringa = malloc(sizeof(char) * (strlen(argv[argc - 2]) + strlen(argv[argc - 1]) + 1));
strcpy(NuovaSuperStringa, argv[argc - 1]);
strcat(NuovaSuperStringa, ” “);
strcat(NuovaSuperStringa, argv[argc - 2]);

printf(“%s\n”, NuovaSuperStringa);
return 0;
}

Per richiamare questo programma (programma.c), io l’ho fatto da shell, si compila con gcc:

gcc programma.c

A questo punto sarà stato creato a.out. Digitando, sempre da shell, i comandi

./a.out primastringa secondastringa

otterremo in output “secondastringa primastringa”.

Per quanto sia semplice questo codice, per chi non è abituato ad usare la shell, o anche semplicemente C, è un programma complicato =). Me ne vergogno un pochino eheh. Spero che sia utile a qualcuno come lo sarebbe stato per me nel momento del bisogno.

Condividi questo post sui tuoi social network preferiti:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
 
View Comments

Posted in tutto