首页  >  问答  >  正文

在循环中无法使用Php追加值的问题

我正在使用php和phpexcel,我有以下数组($data),我想在php中搜索并追加数组值,例如,我想更改用户的"link"值(想要在之前的值后面添加"txt"),其电子邮件ID为"cde@gmail.com",但它不能正常工作,我的意思是刷新页面后,它会删除之前的"追加"值并追加当前值,但我希望保留之前的值,我该如何做?这是我的当前数组

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

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

期望的结果(在删除"abb"的情况下添加"bbb")

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

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

我尝试了以下代码,但是会"删除"之前的值("abb"),我希望将新值追加到之前的值后面

$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粉478835592426 天前599

全部回复(1)我来回复

  • P粉098417223

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

    我昨天遇到了相同的错误,和你在这里犯了相同的错误。 尝试这段代码

    $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);

    回复
    0
  • 取消回复