0

我只想回显值名称而不是全部。

我的数组:

$file_list[] = array(
                            'name' => $CI->upload->file_name,
                            'file' => $CI->upload->upload_path.$CI->upload->file_name,
                            'size' => $CI->upload->file_size,
                            'ext' => $CI->upload->file_ext,
                            'image_type' => $imageVar->image_type,
                            'height' => $imageVar->height,
                            'width' => $imageVar->width
                            );
                }

我的前锋:

foreach($upload_data as $file) {
    echo '<li><ul>';
    foreach ($file as $item => $value) {
        echo '<li>'.$item.': '.$value.'</li>';
    }
    echo '</ul></li>';
 } 

现在输出:

  • 名称:Chrysanthemum19.jpg
    文件:D:/xampp/htdocs/Siran-mehdi/uploads/Chrysanthemum19.jpg
    大小:858.78
    分机:.jpg
    图像类型:jpeg
    高度:768
    宽度:1024

  • 名称:Desert19.jpg
    文件:D:/xampp/htdocs/Siran-mehdi/uploads/Desert19.jpg
    大小:826.11
    分机:.jpg
    图像类型:jpeg
    高度:768
    宽度:1024

我想要这个输出:

菊花19.jpg,沙漠19.jpg

看到你完整的类和控制器
类 Multi_upload(libraries) CI_Controller

尊重地

4

6 回答 6

1
$names = array();
foreach ($file_list as $file) {
  $names[] = $file['name'];
}
echo implode(',', $names);

使用 PHP5.3 你可以更紧凑一点

echo implode(',', array_map(function ($file) {
  return $file['name'];
}, $file_list);

但是两者之间没有语义差异。

于 2011-07-25T14:45:56.087 回答
1

您正在打印所有文件信息数据。您只想打印它的名称。这里:

foreach($upload_data as $file) {
    echo '<li>' . $file->name . '</li>';
}
于 2011-07-25T14:46:04.990 回答
1

尝试

foreach($upload_data as $file) {
    echo '<li><ul>';
    foreach ($file as $item => $value) {
        if ($item == 'name'){
             echo '<li>'.$item.': '.$value.'</li>';
        }
    }
    echo '</ul></li>';
 } 

于 2011-07-25T14:46:27.850 回答
0

采用:

foreach($upload_data as $file) {
    echo '<li><ul>',$file['name'],'</ul></li>';
 } 
于 2011-07-25T14:46:37.663 回答
0

尝试这样的事情:

foreach($upload_data as $file) {
    foreach ($file as $item) {
        $return[] = $file['name'];
    }
}
echo implode(",",$return);
$to_store_in_db = serialize($return);

添加序列化

于 2011-07-25T14:50:27.750 回答
0

首先,您需要找到输出文件名的循环部分:

echo '<li>'.$item.': '.$value.'</li>';

您只希望在$item等于“名称”时显示该值。你可以用这样的代码来表达:

$file['name']

然后,消除代码中对所需输出没有贡献的所有部分。您的新代码可能如下所示:

$output = array();

foreach($upload_data as $file) {
    $output[] = $file['name'];
}

echo implode( ',' $output );
于 2011-07-25T14:50:43.710 回答