each() function is deprecated, je m'en sors pas.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : each() function is deprecated, je m'en sors pas.

Re: each() function is deprecated, je m'en sors pas.

par vangardis » 16 déc. 2023, 17:19

Bonjour two3d
Merci beaucoup pour cette fonction legacy_each()
Elle semble faire parfaitement l'affaire!

Re: each() function is deprecated, je m'en sors pas.

par two3d » 15 déc. 2023, 21:34

Tu peux remplacer each par foreach, ou utiliser cette fonction (non testée) à la place :
function legacy_each($array){
    $key = key($array);
    $value = current($array);
    $each = is_null($key) ? false : [
        1        => $value,
        'value'    => $value,
        0        => $key,
        'key'    => $key,
    ];
    next($array);
    return $each;
}

each() function is deprecated, je m'en sors pas.

par vangardis » 15 déc. 2023, 16:53

Bonjour.
Je suis en train d'essayer de remettre au goût du jour un vieux cms et en particulier une galerie d'images.
Je bloque sur un truc à cause de each().

foreach ( $mg3_infos_album->vsalb as $mg3_key => $mg3_value ) {
	if ( $mg3_tpage > $mg3_page ) break; // inutile d'insister si la page à afficher est dépassée
	if ( $mg3_tpage == $mg3_page ) {

		// la vignette
		if ( intval( $mg3_value ) == 0 ) // la vignette est transmise
			$mg3_infos_vig->tableau[$mg3_t_x][$mg3_t_y] = $mg3_value;
		else {
			$mg3_tmp = '<a href="index.php?mod=mg3&amp;alb='.$mg3_value.'">';
			$mg3_tmp.= '<img src="';
			$mg3_tmp.= mg3_alea_alb( $mg3_value );
			$mg3_tmp.= '" alt="" />';
			$mg3_tmp.= '</a>';
			$mg3_infos_vig->tableau[$mg3_t_x][$mg3_t_y] = $mg3_tmp;
		}

		// le texte
		$mg3_texte = '';
			// cas du tri "précédent"
		if ( $mg3_infos_album->acces == 'A' AND isset( $_GET['tri'] ) AND $mg3_value != $mg3_premier_album ) {
			prev( $mg3_ssalbums );
			$mg3_zeprecedent = key( $mg3_ssalbums );
			next( $mg3_ssalbums );
			$mg3_texte.= '<a href="index.php?mod=mg3&amp;alb='.$mg3_album.'&amp;page='.$mg3_page;
			$mg3_texte.= '&amp;tri='.$mg3_key.','.$mg3_zeprecedent.'">';
			$mg3_texte.= '<img class="mg3_bouton" src="'.$mg3p_iprec.'"';
			$mg3_texte.= ' alt="'.$mg3l_trialbs.' p" title="'.$mg3l_trialbs.' p" />';
			$mg3_texte.= '</a>&nbsp;';
		}

			// le texte en lui-meme
		$mg3_texte.= $mg3_infos_album->tsalb[$mg3_key];

			// cas du tri "suivant"
		if ( $mg3_infos_album->acces == 'A' AND isset( $_GET['tri'] ) AND $mg3_value != $mg3_dernier_album ) {
			next( $mg3_ssalbums );
			$mg3_zesuivant = key( $mg3_ssalbums );
			prev( $mg3_ssalbums );
			$mg3_texte.= '&nbsp;<a href="index.php?mod=mg3&amp;alb='.$mg3_album.'&amp;page='.$mg3_page;
			$mg3_texte.= '&amp;tri='.$mg3_key.','.$mg3_zesuivant.'">';
			$mg3_texte.= '<img class="mg3_bouton" src="'.$mg3p_isui.'"';
			$mg3_texte.= ' alt="'.$mg3l_trialbs.' s" title="'.$mg3l_trialbs.' s" />';
			$mg3_texte.= '</a>';
		}
		$mg3_infos_vig->tableau[$mg3_t_x][$mg3_t_y+1] = $mg3_texte;
	}
	$mg3_t_x++;
	if ( $mg3_t_x > $mg3p_nbcolonnes ) { // je saute de ligne
		$mg3_t_x = 1 ; 
		$mg3_t_y = $mg3_t_y+2 ;
	}
	if ( $mg3_t_y > ( $mg3p_nblignes*2 ) ) { // je saute de page
		$mg3_t_y = 1 ; 
		$mg3_tpage++ ;
	}
	each( $mg3_ssalbums );
}

Je ne vois vraiment pas par quoi remplacer dans ce cas. #-o

Si quelqu'un pouvait me donner un coup de main....