分解为数组并将每个元素打印为列表项?

Explode to array and print each element as list item?

我在数据库的 table 字段中有一组数字,这些数字用逗号 '|1||10||12|' 分隔。我正在尝试执行以下操作:

$array =  explode('|', $set_of_numbers);

回答

["","1","","10","","12",""]

我需要

["1","10","12"]

可以做到谢谢你之前

试试这个

$array = trim($array, '|');
$array = explode('||', $set_of_numbers);

试试这个。 这会起作用。

$set_of_numbers = '|1||10||12|';
$array =  explode('|', $set_of_numbers);
$array = array_filter($array);

使用此功能,array_filter() 函数将从数组中删除您的 empty/blank 值,并将 return 仅包含值的数组。

$set_of_numbers = '|1||10||12|';
$array =  array_filter(explode('|', $set_of_numbers));

你能试试这个吗,

$set_of_numbers = '|1||10||12|';
$array = array_filter(explode("|", $set_of_numbers), function($value) { return $value!== ''; });

你可以使用它,我在 phpfiddle 上测试过它。

您也可以使用正则表达式:

<?php

$a = '|1||10||12|';
$matches = [];
preg_match_all('/(\d+)/', $a, $matches);
var_dump($matches[1]);

http://php.net/manual/en/function.preg-match-all.php