国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Basculer afficher/masquer l'image plusieurs fois en PHP en utilisant la boucle for
P粉567281015
P粉567281015 2023-09-13 15:06:29
0
1
692

J'ai des utilisateurs sur mon site, les utilisateurs sélectionnent leur groupe 1/2/3 depuis leur profil. En fonction de leur sélection, ils sont répartis en 3 tableaux :

$group1_recipients[], $group2_recipients[], $group3_recipients[]

Exemples de données?:

$group1_recipients = ["用戶A","用戶B","用戶C"],
$group2_recipients = ["用戶D","用戶B","用戶E"], 
$group3_recipients = ["用戶A","用戶B","用戶E"]

Cela signifie que l'utilisateur A a sélectionné le groupe 1 et le groupe 3. De même, l'utilisateur B a sélectionné les groupes 1, 2 et 3.

Maintenant, je crée l'image et sélectionne le groupe 1/2/3 lors de la création de l'image. Donc, en fonction de la sélection du groupe d'utilisateurs, je souhaite afficher/masquer une image?:

Exemple?: Si je crée une image pour le groupe 1 et le groupe 2, seuls les utilisateurs qui ont sélectionné ces groupes peuvent voir l'image. Et si un utilisateur sélectionne le groupe 1 et le groupe 2, il ne peut voir qu'une seule image. Pas de double emploi.

J'ai suivi la logique suivante :

$groups = ["1", "2", "3"];
    $match = false;
    
    foreach ($groups as $g) {
        if (in_array($g, $groups)) {
            $match = true;
            break;
        }
    }
    
     if(true===$match)
    {
      if($g == "1"){
        $audience = $group1_recipients;           
      }
        else if($g == "2"){
        $audience = $group2_recipients;  
      }
        else if($g == "3"){
        $audience = $group3_recipients; 
      }
    }
    else
    {
      echo "沒(méi)有匹配的受眾類型";
    }

Cette logique ne fonctionne pas entièrement. Lors de la création d'images pour les 3 groupes, l'utilisateur sélectionne uniquement le groupe 2 ou le groupe 3 et les images ne sont pas affichées. Cette logique quitte la boucle une fois qu'elle trouve un groupe correspondant. Une aide pour résoudre ce problème??

PS?: Ceci est un exemple de code. Veuillez ignorer les erreurs d'analyse/syntaxe

P粉567281015
P粉567281015

répondre à tous(1)
P粉178894235

On dirait que vous avez une certaine confusion entre image_group et group_recipients et que vous utilisez $g au lieu de user

<?php
//這個(gè)圖片所屬的組
$image_groups = [1, 2, 3];

//每個(gè)組的收件人
$group1_recipients = ["用戶A","用戶B","用戶C"];
$group2_recipients = ["用戶D","用戶B","用戶E"];
$group3_recipients = ["用戶A","用戶B","用戶E"];

//所有收件人的數(shù)組
$all_groups = [1=> &$group1_recipients,
               2=> &$group2_recipients,
               3=> &$group3_recipients];

//用戶ID
$user = '用戶A';

//初始設(shè)置為false
$match = false;

// 遍歷每個(gè)image_group
foreach ($image_groups as $group) {

   //獲取groupn_recipients數(shù)組
   $recipients = &$all_groups[$group];

   //如果用戶在收件人數(shù)組中,則將Match設(shè)置為Group
   if (in_array ($user, $recipients)) {
       $match = $group;
       break;
   }
}


if ($match) {
  echo "與組 $group 匹配\n";
 }
else {
  echo '不匹配', "\n";
}

?>

C'est une fa?on. Il existe de nombreuses variantes. Cela définit $match sur false ou sur le groupe correspondant.

  1. N'utilisez pas 0 en tant que groupe (c'est l'équivalent de faux)
  2. Ces esperluettes sont des pointeurs, donc le contenu du tableau ne sera pas copié. Je suppose que ces tableaux peuvent devenir assez volumineux.
  3. En pratique, vous le mettriez dans une fonction
  4. Je l'ai développé pour clarifier chaque étape.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal