10/10/2018, 09:31
PHP - Giúp mình với.
Mình muốn hỏi về vấn đề split, explode...1 chuỗi trong php thành nhiều aray.
Giả sử như mình có đoạn code như thế này:
thì result sẽ là:
Ý mình muốn nó sẽ ra như thế này thì phải làm sao, mong các bạn giúp đỡ
Mình đã thử explode cách này rồi, nhưng ko có kết quả
Trong lúc vọc code thì "có lần" mình print_r được $strexplode[$i][$j] nhưng $strexplode thì ko được.
Nếu có thể thì các bạn chỉ giúp mình cách fetch các array này vào 1 bảng mà cái bảng này ko cần tạo trước, khi nào chạy thì mới create table => fetch data.
Mình thấy người ta thường dùng javascript, nhưng mình thấy kỳ kỳ sao đó, ko lẽ php chỉ có thể in ra 1 đống bùi nhùi, rồi js mới lấy cái đống bùi nhùi này cắt tỉa cho đẹp sao?
Mình vọc code chỉ vì thích thôi, chứ kiến thức về web thì thực sự mù tịt, nên nếu các bạn giúp được mình thì cố gắng giải thích thêm cho mình dễ hiểu.
Cám ơn các bạn!
Giả sử như mình có đoạn code như thế này:
PHP Code:
$str = 'one|two;one|two.one|two.one|two;one|two';
$strexplode = explode(';', $str);
PHP Code:
array
***91;0***93; => one|two
***91;1***93; =>one|two.one|two.one|two
***91;2***93; =>one|two
PHP Code:
array
***91;0***93; array
***91;0***93; => one
***91;1***93; => two
***91;1***93; array
***91;0***93; array
***91;0***93; one
***91;1***93; two
***91;1***93; array
***91;0***93; one
***91;1***93; two
***91;2***93; array
***91;0***93; one
***91;1***93; two
***91;2***93; array
***91;0***93; => one
***91;1***93; => two
PHP Code:
$str = 'one|two;one|two.one|two.one|two;one|two';
$strexplode = explode(';', $str);
$length = count($strexplode);
for ($i = 0; $i < $length; $i++) {
$strexplode***91;$i***93; = array();
$strexplode2 = explode(".", $strexplode***91;$i***93;);
$length2 = count($strexplode2);
for ($j = 0; $j < $length2; $j++) {
$strexplode***91;$i***93;***91;$j***93; = $strexplode***91;$j***93;;
}
return $strexplode;
}
Nếu có thể thì các bạn chỉ giúp mình cách fetch các array này vào 1 bảng mà cái bảng này ko cần tạo trước, khi nào chạy thì mới create table => fetch data.
Mình thấy người ta thường dùng javascript, nhưng mình thấy kỳ kỳ sao đó, ko lẽ php chỉ có thể in ra 1 đống bùi nhùi, rồi js mới lấy cái đống bùi nhùi này cắt tỉa cho đẹp sao?
Mình vọc code chỉ vì thích thôi, chứ kiến thức về web thì thực sự mù tịt, nên nếu các bạn giúp được mình thì cố gắng giải thích thêm cho mình dễ hiểu.
Cám ơn các bạn!
Bài liên quan
$str = 'one|two;one|two.one|two.one|two;one|two';
function myExplode($value, $separators = array(';', '.', '|'))
{
foreach ($separators as $separator) {
if (strpos($value, $separator) !== false) {
return array_map('myExplode', explode($separator, $value));
}
}
return $value;
}
$myArray = myExplode($str);
print_r($myArray);
- Thứ tự ';', '.', '|' của tham số mặc định $separators
- Ưu điểm: Code ngắn, chạy nhanh, dùng recursive nên áp dụng được cho n cấp
- Nhược điểm: Tính thừa kế của hàm là ko có (quá chuối) - nên khi dùng phải khéo vận dụng một chút
khi đó code như này: