douyiji3919 2017-01-18 11:20
浏览 38
已采纳

具有不同金额的PHP数组(未定义的偏移量)

I have two arrays one can have example 1 element inside and other array can have 2 elements. So main problem is i got "Undefined offset" error i think its because my arrays elements are different amount file_data loop goes two times and other with only single element goes together and whats why i got this error. How can i fix this problem?

first array is in caption variable

array (size=1)
  0 => string 'Some string' (length=9)

My second array is file_data

array (size=2)
  'userfile_1' => string './uploads/images/131/Untitled.jpg' (length=33)
  'userfile_15' => string './uploads/images/131/unnamed.jpg' (length=32)
$i = 0;

foreach ($file_data as $file)
{
    $image['hotel_id'] = $last_id;
    $image['image']    = $file;
    $image['caption']  = $caption[$i++];

    var_dump($image);
}

In my result i got

array (size=3)
  'hotel_id' => int 132
  'image' => string './uploads/images/132/Untitled.jpg' (length=33)
   'caption' => string 'Some string' (length=9)

 // and here i got this error: Message: Undefined offset: 1


array (size=3)
  'hotel_id' => int 132
  'image' => string './uploads/images/132/unnamed.jpg' (length=32)
  'caption' => null
  • 写回答

3条回答 默认 最新

  • duanjie6912 2017-01-18 11:26
    关注

    You get an undefined offset error due to this

    $image['caption']  = $caption[$i++];
    

    To avoid the error:

    if(!empty($caption[$i])){
       $image['caption']  = $caption[$i];
    } else {
       $image['caption']  = "";
    }
    $i++;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应