从数组中提取 CSV 值并将它们单独显示为列表
Posted
技术标签:
【中文标题】从数组中提取 CSV 值并将它们单独显示为列表【英文标题】:Extract CSV values from an array and display them Individually as a List 【发布时间】:2017-11-13 15:15:08 【问题描述】:我的数据库中有一个 CSV 值数组,例如 category1[obj1,obj2,obj3..]
查看
<?php echo $row_company->category1;?>
控制器
$row_company = $this->employers_model->get_company_details_by_slug($company_name);
然后,employees_model 调用一个过程,该过程依次执行所需的查询,以这种方式显示 row = category1 的内容,
obj1,obj2,obj3...
我希望能够在没有逗号的情况下显示此结果,并显示为这样的列表
obj1 obj2 obj3..我正在使用 CodeIgniter MVC 框架,我对 implode 函数的使用有一些模糊的想法,也遇到了 preg_split,但不知道从哪里开始干预,视图或控制器。 任何解决方案的方向都将不胜感激。
详细编辑:row_company。
$row_company = $this->employers_model->get_company_details_by_slug($company_name);
if(!$row_company)
redirect(base_url(),'');
exit;
$company_website = ($row_company->company_website!='')?validate_company_url($row_company->company_website):'';
$data['row_company'] = $row_company;
$data['company_logo'] = $company_logo;
$data['company_join'] = $company_join;
$data['company_website'] = $company_website;
$data['company_location'] = $company_location;
$data['title'] = $row_company->company_name.' jobs in '.$row_company->city;
$this->load->view('company_view',$data);
employers_model 内容
public function get_company_details_by_slug($slug)
$Q = $this->db->query('CALL get_company_by_slug("'.$slug.'")');
if ($Q->num_rows > 0)
$return = $Q->row();
else
$return = 0;
$Q->next_result();
$Q->free_result();
return $return;
程序本身get_company_details_by_slug
BEGIN
SELECT emp.ID AS empID, emp.sts1, pc.ID, emp.country, emp.city, pc.company_name, pc.company_description, pc.company_location, pc.company_website, pc.no_of_employees, pc.established_in, pc.company_logo, pc.company_slug, pc.category1, pc.category2, pc.category3, pc.company_join
FROM `pp_employers` AS emp
INNER JOIN pp_companies AS pc
WHERE pc.company_slug=slug AND emp.sts1 ='active';END
【问题讨论】:
你能告诉我们你是如何存储数据的吗?$row_company
的内容是什么?
您可以简单地使用explode(',', $value)
将值拆分为值数组。
@PratikSoni,通过将 csv 文件上传到包含该特定行的相关数据的数据库中来存储数据。
$row_company 只是一个使用模型中的过程调用从数据库中提取值的函数。它可以包含该特定表中的所有值@u_mulder
【参考方案1】:
在参考了许多 codeigniter/php 论坛后想通了。 其实很简单,
<?php $array = explode(',', $row_company->category1);
foreach ($array as $item)
echo "<li>$item</li>";
?>
感谢 Nigel 指出要使用爆炸功能。
干杯
【讨论】:
以上是关于从数组中提取 CSV 值并将它们单独显示为列表的主要内容,如果未能解决你的问题,请参考以下文章
提取numpy数组中所有1序列的第一个和最后一个索引并将它们附加到列表中?