2012-06-21 28 views
0

我得到了如下错误:初始化的字符串偏移0和1

verzend mail naar t met attachment: e 
verzend mail naar w met attachment: w 
verzend mail naar r met attachment: a 
verzend mail naar w met attachment: w 
verzend mail naar r met attachment: a 
verzend mail naar w met attachment: w 

Notice: Uninitialized string offset: 0 in /variables.php on line 248 

Notice: Uninitialized string offset: 1 in /variables.php on line 248 
verzend mail naar met attachment: 

这是我的代码:

<?php 
    $emailString = '[email protected];www.test.nl^[email protected];www.test2.nl^[email protected];www.test3.nl^'; 

    $user = explode("^", $emailString); // urls 
    foreach($user as $a_user) { 

     $user2 = explode(";", $a_user); // emails 
     $a_mailing = array(); 

     foreach ($user2 as $a_user) { 
      $a_mailing[$a_user[0]][] = $a_user[1]; 
     } 

     foreach($a_mailing as $key => $a_values) { 
      foreach($a_values as $value) { 
       echo 'verzend mail naar ' . $key . ' met attachment: ' . $value . '<br />'; 
      } 
     } 
    } 
?> 

谁能帮助我?

+1

哪条线是错误行?我们在这里看不到行号。 –

+4

我想这行:$ a_mailing [$ a_user [0]] [] = $ a_user [1]; – peko

+2

'$ a_user'似乎是一个字符串。不知道你想用'$ a_user [0]'做什么。另一个问题可能是你在外部'foreach'循环中和内部循环中使用'$ a_user'两次。 –

回答

1

问题是第一个循环中的$ a_user是一个字符串。例如..在第一次迭代中,$ a_user变量包含这个:“[email protected]; www.test.nl”;

从我可以看到,我相信你只是试图使用电子邮件地址作为一个关键和URL作为价值,所以你不需要使用第二个循环。您可以更换:

foreach ($user2 as $a_user) { 
    $a_mailing[$a_user[0]][] = $a_user[1]; 
} 

有:

$a_mailing[$user2[0]][] = $user2[1]; 
0

$a_user是一个刺痛,但需要一个数组!你需要解决这个问题。

相关问题