我有一些陣列看起來像這樣的從另一個數組PHP創建數組
$links =array('proizvodi','pokloni', 'kuhinja');
我需要創建另一個數組看起來像這樣
$linksNew =array('proizvodi/','proizvodi/pokloni/', 'proizvodi/pokloni/kuhinja/');
Txanks提前
我有一些陣列看起來像這樣的從另一個數組PHP創建數組
$links =array('proizvodi','pokloni', 'kuhinja');
我需要創建另一個數組看起來像這樣
$linksNew =array('proizvodi/','proizvodi/pokloni/', 'proizvodi/pokloni/kuhinja/');
Txanks提前
這將是一個原始的方法:
<?php
$input = ['proizvodi','pokloni', 'kuhinja'];
$output = [];
$previous = '';
foreach ($input as $entry) {
$output[] = $previous . $entry . '/';
$previous = end($output);
}
var_dump($output);
這是一個版本,有些人可能會考慮多一點優雅:
<?php
$input = ['proizvodi','pokloni', 'kuhinja'];
$output = [];
$previous = '';
array_walk($input, function($entry) use (&$previous, &$output) {
$output[] = $previous . $entry . '/';
$previous = end($output);
});
var_dump($output);
兩個版本的輸出顯然是:
array(3) {
[0]=>
string(10) "proizvodi/"
[1]=>
string(18) "proizvodi/pokloni/"
[2]=>
string(26) "proizvodi/pokloni/kuhinja/"
}
我得到500服務器錯誤,這是PHP 7 –
適用於我沒有問題。如果您遇到http狀態500(內部服務器錯誤),首先要做的事情是:查看您的http服務器錯誤日誌文件。那就是你可以閱讀什麼_specific_問題的地方。 – arkascha
冥思苦想的巧妙方式,但這個作品:
for($i=0; $i<count($links); $i++) {
$linksNew[] = implode('/', array_slice($links, $i)) . '/';
}
$linksNew = array_reverse($linksNew);
這將是一種沒有for或foreach循環的方法
$links = array('proizvodi','pokloni', 'kuhinja');
$newLinks = array_map(function($i) use ($links) {
return implode(array_slice($links, 0, $i), '/') . '/';
}, range(1, count($links)));
我們不能告訴你,如果有一個模式,你必須告訴我們。 – arkascha