info:myphp:array

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
info:myphp:array [2014/09/23 16:14] – modification externe 127.0.0.1info:myphp:array [2026/03/05 09:49] (Version actuelle) radeff
Ligne 1: Ligne 1:
-====== Arrays en php ======+====== PHP Arrays ====== 
 +===== explode ===== 
 + 
 +<code> 
 +<?php 
 +  $pizza = "anchois oignons tomate rucchetta"; 
 +  $pieces = explode(" ", $pizza); 
 + 
 + 
 +for($i=0;$i<count($pieces);$i++){ 
 +  print("Pizza garniture " .($i+1)  ."-- ".$pieces[$i]."<br>"); 
 +
 +echo "<hr>"; 
 +show_source("explode.php"); 
 +?>  
 +</code>
  
 ===== 1 dimension ===== ===== 1 dimension =====
-[[simplearray1dimension.php]]+<code> 
 +<?php 
 +/* [[simplearray1dimension.php]] Script to highlight dynamically navigation link corresponding to the current page 
 +
 +# Authors: 
 +# FR, radeff@akademia.ch 
 +# History 
 +# 2008/01/23 10:11: FR, created 
 +######### 
 +$array=array( 
 +'nom', 
 +'prenom', 
 +'adresse', 
 +'cp', 
 +'ville', 
 +'email', 
 +'mobile' 
 +); 
 + 
 +$size=count($array); 
 + 
 + for ($i=0; $i <= $size; $i++) { 
 + echo $array[$i] . "<BR>"; 
 + 
 + 
 +
 +?> 
 +</code>
 ===== 3 dim array with limesurvey ===== ===== 3 dim array with limesurvey =====
-[[3dimarraylime.php]]+**Un script pour faire un loop sur 3 arrays php, avec du mysql** 
  
-===== n dimensions ===== +exemple: renvoyer un message d'information suite à un limesurvey qui vise à s'inscrire à un séminaire pour lequel le nombre de place est limité - l'utilisateur inscrivant lui-même le nombre de places, le script suivant (url de sortie) calcule s'il a dépassé le nombre de places lors de son inscription.
-[[highlight_menu.inc.php]] ex. array simple 2 dimensions +
-===== csv =====+
  
 <code> <code>
 +<!DOCTYPE html 
 +     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 +<head>
 +<title>Confirmation</title>
 +    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 +</head>
 +<body>
 <? <?
-include("header.inc.php");+error_reporting(E_ALL ^ E_NOTICE); //tests 
 +/* var passed by lime */ 
 +$id=$_GET['var1']; 
 +$sid=$_GET['var3']; 
 +/* var to adapt */ 
 +/* nb of places by workshop*/ 
 +$nbplaces=25; 
 +#$mailto="su@admin.org"; //test 
 +$mailto="admin@admin.org"; //prod 
 +$mailsubject="Tentative d'inscription infructeuse seminaire XXX"; 
 +$mailbody="Tentative d'inscription infructeuse pour: https://[limesurvey_url]/admin/admin.php?action=browse&sid=".$sid ."&subaction=id&id=".$id; 
 +$ko="Malheureusement, la limite des " .$nbplaces ." personnes est dépassée. Veuillez s'il vous plait essayer de vous inscrire à une autre date. 
 +En cas de problème, écrivez un e-mail à <a href=\"mailto:" .$mailto."\">" .$mailto."</a>";
  
-$total=0+/* arrays with items */ 
-$myFile=fopen("array.csv","r"); +/*limesurveys id*/ 
-    while(!feof($myFile)) { +$quiz=array( 
-        $data=fgetcsv($myFile,100,';'); +"123", 
-    $link="$data[1]"; +"456", 
-$total+=$link+"789" 
-        +); 
-fclose($myFile);+/*dates*/ 
 +$quizlib=array( 
 +"Vendredi 18 avril &agrave; 18h", 
 +"Vendredi 18 avril 20h", 
 +"Samedi 19 avril &agrave; 14h", 
 + 
 +); 
 +/*limesurvey answers*/ 
 +$quizanswer=array
 +"123X3303X24965", 
 +"456X3323X25163"
 +"789X3324X25169", 
 +); 
 + 
 +/* 
 +#tests 
 +echo "Total quiz id: " .count($quiz) ."<br>"; 
 +echo "Total quizlib: " .count($quizlib) ."<br>"; 
 +echo "Total quizansw: " .count($quizanswer) ."<br>"; 
 +*/ 
 +if(count($quiz)!=count($quizanswer)||count($quiz)!=count($quizlib)||count($quizanswer)!=count($quizlib)) { 
 + echo "Bug on arrays count! Check"; exit; 
 +
 + 
 + 
 +#connect to database 
 +include("connect.inc.php"); 
 +$db=connect_db(); 
 +$db_name=db_name(); 
 +mysql_select_db($db_name,$db); 
 + 
 +#loop on arrays 
 +for($i=0;$i<count($quiz);$i++) { 
 + $sql=" 
 + SELECT id, SUM(".$quizanswer[$i.") AS total 
 + FROM `lime_survey_" .$quiz[$i] ."` ORDER BY id DESC 
 + "; 
 + $sql2=mysql_query($sql); 
 + if(!$sql2) { 
 + echo mysql_error(); exit
 +
 + $sql2=mysql_result($sql2,0,'total'); 
 + if($sql2>=$nbplaces) { 
 + echo $ko;  
 + mail($mailto,$mailsubject,$mailbody); //send notification to admin 
 + exit; 
 +
 + /* 
 + #tests 
 + echo "Quiz id: " .$quiz[$i]."<br>"; 
 + echo $quizlib[$i]."<br>"; 
 + echo "SQL:<br>".$sql."<br>"; 
 + echo "Total places:<br>".$sql2.""; 
 + echo "<hr>";*/ 
 +}
  
 ?> ?>
 +<p>
 +Merci de votre inscription!<br />
 +<br />
 +Nous vous donnons donc rendez-vous le...<br />
 +<br />
 +Si vous avez des questions, n'hésitez pas à prendre contact avec ADMIN ou par e-mail à <a href="mailto:<? echo $mailto; ?>"><? echo $mailto; ?></a><br />
 +</p>
 +</pre>
 + </body>
 + </html>
 +</code>
  
-<p class=titrerouge>Analyse bàl webmaster@unige.ch</p>+===== n dimensions ===== 
 +<code php> 
 +<?php 
 +/* [[highlight_menu.inc.php]] Script to highlight dynamically navigation link corresponding to the current page 
 +
 +# Authors: 
 +# FR, radeff@akademia.ch 
 +# History 
 +# 2006: FR, created; modified  2008/01/21 22:01// 
 +######### 
 +*/ 
 +#affiche menus gauche (verticaux) 
 +function lemenugauche() { 
 +$cettePage= $_SERVER['REQUEST_URI'];  //on teste pour voir sur quelle page on est 
 +$cettePage=ereg_replace("^.*/","",$cettePage); //nettoyage url
  
-<table><tr><td class=titrenoir>&nbsp;9.7.03&nbsp;</td></tr+/*  
-</table>+//here some stuf if you want the current directory 
 +$cetURL$_SERVER["REQUEST_URI"]; 
 +$cettePage=ereg_replace("^.*/","",$cetURL); //nettoyage url 
 +$ceRep=ereg_replace("^.*/(.*)/$cettePage$","\\1",$cetURL); //nettoyage url 
 +echo $cetURL; 
 +echo "<br>"; 
 +echo $ceRep; 
 +echo "<br>"; 
 +echo $cettePage; 
 +*/
  
-<table border=0>+?> 
 +<style type=" text/css "> 
 +/* classe spéciale pour highlighter un item du menu */ 
 +.active { 
 +    color : #800000; 
 +    font-weight : bold; 
 +    text-decoration : underline; 
 +  } 
 +</style>
 <? <?
-echo "<tr BGCOLOR=yellow><td>Libellé</td><td align=right>Hits</td><td align=right>%</td></tr>"; +$menu=array( 
-#$total=0; +"Actualit&eacute;s"=>"/Actualites", 
-$i=1; +"Espace Presse"=>"/Espace-Presse", 
-$myFile=fopen("array.csv","r"); +"Recevoir de l'information" => "/Recevoir-de-linformation", 
-    while(!feof($myFile)) { +"Liens=> "/cms/?/Liens" 
-        $data=fgetcsv($myFile,100,';'); +); 
-        $num=count($data); +foreach($menu as $libelle_lien=>$url) 
-    $link="$data[1]"; +    
-$texte="$data[0]"; + if(ereg($cettePage,$url) && strlen($cettePage)!=0) { //on met en valeur la page dans les menus SAUF pour la homepage 
-    $pc=intval(100*($link/$total))+ $classemenuDeb="<span class=\"active\">"; 
-if (intval($i/2)==($i/2)) { + $classemenuFin="</span"; 
-echo "<tr BGCOLOR='#EEEEEE'>"; + } else { 
-else { + $classemenuDeb=""
-echo "<tr BGCOLOR='#FFFFFF'>";+ $classemenuFin=""; 
 +
 + echo "<tr><td class=\"menu\"><a href=\"" .$url ."\" title=\"" .$libelle_lien ."\">" .$classemenuDeb .$libelle_lien .$classemenuFin ."</a></td></tr>\n"; 
 +    }
 } }
 +lemenugauche();
 +#fin menus gauche
 +?>
 +</code>
  
-    echo "<td align=left>$texte</td><td align=right>$link</td><td align=right>$pc</td></tr>\n"; +===== array_splitter ===== 
-$i++; +<code> 
-        } +<? 
-fclose($myFile);+function array_splitter($delimiter, $string) 
 +{
  
 + $array = explode($delimiter, $string);
  
-echo "<tr BGCOLOR=yellow><td>Total</td><td align=right>$total</td><td>100 %</td></tr></table>";+ #returns the number of elements in the array 
 + $size=count($array); 
 + 
 + for ($i=0; $i <= $size; $i++) 
 + echo $array[$i] . "<BR>"; 
 + 
 +
 +#Laurent Gottardo, 15.9.04 
 +        ?>
  
-include("footer.inc.php"); 
-?>  
 </code> </code>
  • info/myphp/array.1411481664.txt.gz
  • Dernière modification : 2014/09/23 16:14
  • de 127.0.0.1