Questions, simples je pense

Questions, simples je pense - PHP - Programmation

Marsh Posté le 13-11-2003 à 17:14:10    

Salut à tous,
 
Voici quelques questions pour lesquelles je n'ai pas de réponse ou pour lesquelles je ne suis pas sûr.
 
En espérant que quelqu'un pourra me repondre :
 
$Tableau["$Variable"] et $Tableau[$Variable] c'est pareil ? Si non, pourquoi ?
Pourquoi le \n n'est pris en compte qu'entre " " ?
Est-il possible de concaténer comme ceci : 'test '.$Variable."\n" ?
A quoi sert le @ devant les focntions/procédures ?
Pourquoi lorsque je fais je fais rmdir('./Repertoire1/Repertoire2'), il me supprime les répertoires "Repertoire1" et "Repertoire2" ?
 
Merci par avance pour votre aide,
 
@+


Message édité par Juntao2k2 le 12-08-2008 à 17:12:38
Reply

Marsh Posté le 13-11-2003 à 17:14:10   

Reply

Marsh Posté le 13-11-2003 à 17:30:54    

Juntao2k2 a écrit :

Salut a tous,
 
Voici qqes quests pour lesquelles je n'ai po de reponse ou pour lesquelles je ne suis po sur
 
Esperant que qqn pourra me repondre
 
$tableau["$var"] et $tableau[$var] c pareil ?? si non pq ??
dans le premier cas tu designes une clef, dans le deuxieme un indice
pq le \n n'est pris en compte qu'entre " " ???
c'est sa valeur ascii j'imagine qui est prise en compte  [:spamafote]
c possible de concatener comme ca : 'test '.$var."\n" ??
oui
a quoi sert le @ devant fcts ???
virer l'affichage des warnings renvoyés par les fonctions
pq quand je fais rmdir('./toto/tata') il me supprime toto et tata ??
 essayes rmdir('./toto/tata/')
Merci
 
++


Message édité par simogeo le 13-11-2003 à 17:31:14

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 13-11-2003 à 20:46:29    

Bon, en fait la question est sur les chaînes délimitées par " (doubles quotes).
 
Il est possible de délimiter une chaîne par de simples quotes ' ou des doubles ".
La particularité des doubles, c'est que les variables sont remplacées par leurs valeurs et les caractères spéciaux aussi.
 
Ainsi, si $a=88 déclare une variable contenant l'entier 88, alors l'expression "$a" est une chaîne contenant les caractères 8 et 8.
 
En php, les variables sont typées par leur contenu et il y a donc des mécanismaes de transtypages. Ainsi, si dans une expression un nombre est attendu et qu'on fourni une chaîne, alors php essaye de la transformer en nombre.
 
Mais il faut faire attention avec les tableaux. Les indices de tableaux peuvent être numériques, ou alphanumérique. Ainsi, je peux écrite $tab[8] = 'Bonjour' et $tab['toto'] = 'Juntao2k2'.
 
Pour répondre à ta question sur $tableau["$var"] et $tableau[$var] et bien ce qui se passe, c'est que si la chaîne peut-être convertie en nombre, alors l'indice ne sera pas considéré comme une chaîne.
 
Si j'ai $tab['1'] = 'toto' et $tab[1] = 'tata', alors le résultat n'est pas deux entrées dans le tableau, mais une seule. Le dernier arrivé à raison.
 
Ca, 'test '.$var."\n" c'est possible, bien sûr, mais tu peux aussi l'écrire :
 
"test $var\n"
ou
'test '. "$var\n"
 
C'est à toi de voir.
 
Pour les chaînes entre " contenant des variables, il faut faire attention avec un tableau :
 
" test $tab[1] test" passe, mais pour  
" test $tab[$i] test" il faut écrire l'expression entre accolades :
" test {$tab[$i]} test"
ou en concaténant
" test " . $tab[$i]. " test"
 
Pour le rmdir, je ne sait pas, la doc http://fr2.php.net/manual/fr/function.rmdir.php indique que le répertoire doit être vide, c'est bizarre...
Cà dépend peut-être de l'OS :??:


Message édité par Mara's dad le 13-11-2003 à 20:49:11

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 13-11-2003 à 22:43:18    

Merci beaucoup à tous les 2 pour vos explications claires :jap:
 
@Simogeo
 
Avec le @ devant les fonctions, on peut quand même recupérer les erreurs ?
 
@Mara's
 
Je suis un puriste du simple ' depuis que j'ai appris que ca faisait bosser le parser inutilement lors de l'utilisation de " " pour afficher des chaines :)
Merci pour l'astuce avec les {} pour les tableaux.
Pour le rmdir, c'était sous Windows.
 
 
Si j'ai :
 
$Variable='Test'
$Tab["$Variable"] et $Tab[$Variable] sont pareils ?
 
C'est dommage que le parser n'interprète pas le \n entre ' ' :/


Message édité par Juntao2k2 le 12-08-2008 à 17:11:35
Reply

Marsh Posté le 14-11-2003 à 00:32:20    

Citation :

Si g
 
$var='toto'
$Tab["$var"] et $Tab[$var] sont pareil ??


Oui, mais la première notation ne sert à rien.
 
Pour  \n, tu peux toujours faire :
 
'test ' . chr(10);
 
Si tu supportes pas les " à ce point :D


Message édité par Mara's dad le 14-11-2003 à 00:32:41

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 18-11-2003 à 17:22:50    

Salut,
 
C'est pas que je ne les supportent pas, mais c'était pour comprendre pourquoi \n n'est pas pris en compte entre ' ' :)
 
Merci pour tes reponses,
 
@+


Message édité par Juntao2k2 le 12-08-2008 à 17:13:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed