recherche

Maison  >  Questions et réponses  >  le corps du texte

Problème avec l'impossibilité d'ajouter une valeur à l'aide de Php en boucle

J'utilise php et phpexcel, j'ai le tableau suivant ($data), je veux rechercher et ajouter la valeur du tableau en php, par exemple, je veux changer la valeur "lien" de l'utilisateur (je veux ajouter " txt" après la valeur précédente ") dont l'identifiant de messagerie est "cde@gmail.com" mais il ne fonctionne pas correctement, je veux dire après avoir actualisé la page, il supprime la valeur "ajouter" précédente et ajoute la valeur actuelle mais je veux conserver la valeur précédente, que dois-je faire ? C'est ma gamme actuelle

Array
(
    [0] => Array
        (
            [email] => abc@gmail.com
            [link] => abc,xyz,def
         )

    [1] => Array
        (
            [email] => cde@gmail.com
            [link] => cde,abb
        )
...

Résultat souhaité (ajout de "bbb" tout en supprimant "abb")

Array
(
    [0] => Array
        (
            [email] => abc@gmail.com
            [link] => abc,xyz,def
         )

    [1] => Array
        (
            [email] => cde@gmail.com
            [link] => cde,abb,bbb
        )
...

J'ai essayé le code suivant, mais il "supprime" la valeur précédente ("abb") et je souhaite que la nouvelle valeur soit ajoutée à la valeur précédente

$searchEmail = 'cde@gmail.com';
$appendString = 'bbb';
foreach ($set_excel_query_all as $key => &$item) {
   if ($item['email'] == $searchEmail) {
      $item['link'] .= ',' . $appendString;
      break;
   }
}
unset($item);

P粉478835592P粉478835592448 Il y a quelques jours630

répondre à tous(1)je répondrai

  • P粉098417223

    P粉0984172232023-09-14 16:03:47

    J'ai rencontré hier la même erreur que vous ici. Essayez ce code

    $searchEmail = 'cde@gmail.com';
    $appendString = 'bbb';
    foreach ($set_excel_query_all as $key => $item) {
    if ($item['email'] == $searchEmail) {
      $set_excel_query_all[$key]['link'] .= ',' . $appendString;
      break;
    }
    }
    unset($item);

    répondre
    0
  • Annulerrépondre