CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Est-il possible de faire des ...

watzakamikaze
watzakamikaze
Niveau 10
21 mars 2005 à 12:03:22

Hum

:d) Primo, pour les tableaux. On déclare toujours clairement un tableau(jamais de $table[$i][$j])

Et,

$table=array(array(1,2),array(0,3));
Et tableau assiociatif :
$table = array(´CHOCKIRIS´=>array(...)...);

Pour y accéder,
/ /Soit for controlé, soit 2 foreach, soit while-list-each que je préfère parce que c´est plus propre

reset($table);
while(list(,$value1)=each($table))
while(list(,$value2)=each($value1))
{
echo $value2;
}

Php.net ( :

http://fr2.php.net/manualal/fr/language.types.array.php

:d) Pour ton problême d´hexa, c´est pas très dur, il faut juste réfléchir un bout ( :

Donc, tu as ta valeur hexa="00FF00";//Je mets pas le # :p) et, tu veux la valeur complémentaire, hexa_comp="FF00FF";
Or, qui dit complémentaire, dit une valeur max moins la valeur donné. Soit, max="FFFFFF";

Donc, hexa_comp=max-hexa;

En programmation, ça donne :

$hexa=(strlen(strstr($hexa,"#"))>6)?strlen(strstr(
$hexa,"#")):echo"tentative de hack probable";

$max="FFFFFF";

hexa_comp="#".dechex(hexdec($max)-hexdec($hexa));

:)

W.

watzakamikaze
watzakamikaze
Niveau 10
21 mars 2005 à 12:06:24

Php ne travaille pas directement en hexa. Le binaire a une même forme d´écriture que la base de 10. Donc, on peut facilement passer de l´un à l´autre. Mais, en hexa, il vaut mieu le convertir en décimal, question de simplicité ( :

W.

watzakamikaze
watzakamikaze
Niveau 10
21 mars 2005 à 12:23:17

Heu, dsl echo marche pas je crois ^^^^^^^^^^^^^^^^^

:)

A propose d´opérateur ternaire, combien d´expression on a le droit de mettre dedans ? =/

watzakamikaze
watzakamikaze
Niveau 10
21 mars 2005 à 12:25:09

Oui, je sais je parle tout seul xD

Opérateur ternair => Renvoie seulement des valeurs, n´évalue pas les expressions =D

:)

Yoda_Software
Yoda_Software
Niveau 30
21 mars 2005 à 19:40:46

Si tu as bien lu mes posts, tu auras remarqué que j´avais émis l´hypothèse qu´on pouvais faire quelque chose du genre $invCol = #FFFFFF - $col;
Mais que je ne savais pas comment le mettre en pratique. J´avais réfléchi au problême, je ne m´était pas contenté de créer ce topic et d´attendre une réponse.
Ensuite, quand tu dis que ce n´est pas très dur, c´est vrai quand on matrise un minimum le PHP, or j´ai commencé mon bouquin de PHP il y´a 10 jours et je n´y trvaille pas tous les jours. Donc je ne maitrise pas le PHP, je n´ai pas encore retenu tous les type de fonctions de manipulation de chaines de caractère, de dates ou de calculs.

Enfin, pour finir, je n´ai pas bien compris ce que fait exactement le code que tu as donné. Oserais-je te demander de détailler un peu ?
Merci d´avance !

watzakamikaze
watzakamikaze
Niveau 10
21 mars 2005 à 19:58:33

:d) lolololololol j´ai eu la flemme de lire le topic :D donc, tu as a fond raison sur tout ( :

:d) Fonction et tout, c´est parce que moi aussi j´ai eu la même idée que toi.

:d) " Oserais-je te demander de détailler un peu ? " Sa majesté Watza IV refuse :non:

Mais je blageuuuh, toujours près à aider :oui:

Bien :

$hexa=(strlen(strstr($hexa,"#"))>6)?strstr($hexa,"

  1. "):FALSE";// C´est un opérateur ternaire, bon c´est sur que si c´est ton dixième jour, tu le connais pas forcément(c´est comme en C, exp1?exp2:exp3, si exp1 est vraie, il retourne la valeur de exp2, sinon exp 3... en gros c´est un if, un else, en une ligne ( :

$max="FFFFFF";

hexa_comp="#".dechex(hexdec($max)-hexdec($hexa));

Bon, je convertit l´opérateur ternaire ; D

if(strlen(strstr($hexa,"#"))>6) / / Strstr permet de découper la chaine à partir du symbole #, strlen calcule la taille de la chaîne pour être sur que c hexadécumal
$hexa=strstr($hexa,"#")// On attribut la valeur dites hexadécimal(ca reste quand même un string...)
else
$hexa=FALSE / / Sinon, on donne false, parce que c´est pas hexa pour les écrans

$max="FFFFFF"; / / La, on donne à max le max en hex de l´écran

hexa_comp="#".dechex(hexdec($max)-hexdec($hexa));/
/ Ici, on concatène le symbole " #" et la valeur hexa. Les fonctions hexdec et dechex permettent de convertir hexa et dec, et dec en hexa(C´est plyus simple de calculer directement en décimal pour re mettre en hexa !

Et voila :D

:)

W.

PS : bonne luck pour le php ; D

Yoda_Software
Yoda_Software
Niveau 30
21 mars 2005 à 20:11:32

" c´est comme en C" :rire:

très bien quand on connais le C. :diable:
moi mes connaissances en la matière sont du C ANSI datant d´il y´a 10 ou 12 ans. Et encore ce que j´ai apris en cours, car je ne m´en suis plus servis depuis.
Moi je suis un fanatique du Pascal et de Delphi ! :ange:

Bon, dans l´ensemble j´ai compris, je vais voir si j´arrive à l´exploiter.

Merci de tes éclaircissements ! :ok:

watzakamikaze
watzakamikaze
Niveau 10
21 mars 2005 à 20:12:39

Vive les objets :content:

Yoda_Software
Yoda_Software
Niveau 30
21 mars 2005 à 20:18:50

Yes ! La POO vaincra ! :ok: :rire:

Euh ! . .. je vais encore abuser de ta bonté, mais pourrais tu détailler pour les tableaux ?
principalement la déclaration, l´affectation et la récupération de valeur. Tout quoi ! :rire:

Yoda_Software
Yoda_Software
Niveau 30
21 mars 2005 à 20:20:40

Eeeeehh ! !

Où sont passés mes smileys !

Yoda_Software
Yoda_Software
Niveau 30
21 mars 2005 à 20:22:31

M**** ! j´ai des bugs d´affichage !
Certaines images ne s´affichent pas, même quand je raffraichis la page !

watzakamikaze
watzakamikaze
Niveau 10
21 mars 2005 à 20:33:31

Bon, primo faut comprendre les types de tableaux : assiociatif(ex : $a[´jojo´]), et à indices numériques(ex $a[1]).

Les tableaux sont considérés comme des objets.(mais le mot new peut être sousentendu)

Et, la déclaration des tableaux est :

$a = array(1,2,3);
ou
$a=array(´jojo´=>1,21=>57);

A partir de là, tu peux créer dans les valeurs un nouveaux tableaux :

$a = array( array ( 1,1),
array(2,3),
4);
ou

$a=array(´b´=>array(´a´=>´lol´),´c´=>array(16=>32)
);

Voila ( :

Do you understand ? :D

Sinon, pour ton bug, je te rassure je vois pas de smyley xD(enfin 3... :p) )

Yoda_Software
Yoda_Software
Niveau 30
21 mars 2005 à 20:46:24

En fait, mon pb d´images qui ne s´affichent pas viens du fait que je suis en train de transférer de gros fichiers vers le FTP de la boite où je bosse et que ça me monopolise la bande passante. Je tourne actuellement à 65Ko de moyenne ( sachant que j´ai un forfait 512K, . .. ) .

dexter00
dexter00
Niveau 8
21 mars 2005 à 20:46:32

@hugo: pourquoi tu dit qu´il faut JS pour invérser les couleurs?? je voi pas le raport :question:

C´est évident que PHP peut faire ça, pourquoi ne pourrait-il pas le faire??

Il faut découpper la valeur dela variable en 3, et non pas en 6, puisque c´est le code RVB qui gere 3 valeurs, la valeur du rouge du vert et du bleu, et invérser chaque valeur, par contre pour l´inverser je ne sais pas trop comment, peut etre qu´il faudrai mettre un truc du genre:

$r c´est la valeur du rouge qu´on obtient du code rvb.
225 c´est le maximum de la valeur, 0 c´est le minimum,
$r2=225-$r; / / et$r2 c´est la valeur du rouge de la nouvelle courleur.

Tu répete la meme chose pour les autres couleurs, et tu obtient, $r2, $v2 et $b2. Il faudra ensuite les rassembler: $couleur=$r2.$v2.$b2;

C´est ce qu´il faut faire, ensuite tu peu modifier l´opération mathématique pour un autre inversement, plus logique, je n´ai pas trop refléchi à ce sujet là.

Yoda_Software
Yoda_Software
Niveau 30
21 mars 2005 à 20:47:48

J´ai donc 2 fois sur 3 " connexion fermée par le serveur distant" et 1 fois sur 3 une pages avec un certain nombre d´images qui ne s´affichent pas.

Yoda_Software
Yoda_Software
Niveau 30
21 mars 2005 à 20:50:09

dexter00 :d) Merci de ton aide, mais la solution de watza est plus simple et surtout plus rapide. :ok:

dexter00
dexter00
Niveau 8
21 mars 2005 à 21:24:08

je pense que $r2=225-$r c´est la bonne formule, sachant que ff==255, 255-0=225, ce qui donne blanc sur noir, et 255-255=0 ce qui donne noir sur blanc.

Sinon l´autre solution, je n´ai pas examiné!!

Yoda_Software
Yoda_Software
Niveau 30
21 mars 2005 à 21:32:35

Juste pour ton information, #FF = 255, pas 225 ! :rire:

dexter00
dexter00
Niveau 8
21 mars 2005 à 21:36:49

255 ou 225, c´est pas tres important, tu vérifira ça apres.

Je voi que vous parler de l´hexadecimale, meme si mes conaissances sont pauvres dans ce domaine, ke ne voi pas trop pourquoi hexadecimal, hexa c´est 6 et decimal 10, ça fait 16, de 0à 9 et de a à f, là c´est un code RVB qui contient 3 valeurs allant de 0 à 255(^^) pour inverser la couleur, il suffit de soustraire chaque valeur de la valeur max.

watzakamikaze
watzakamikaze
Niveau 10
21 mars 2005 à 21:44:56

:rire:

Et tu les reconvertis comment ?

Ta solution prend baucoup trop de temps . .. xD

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware