私は事前作成配列
にこの$linksNew =array('proizvodi/','proizvodi/pokloni/', 'proizvodi/pokloni/kuhinja/');
Txanksよう
私は事前作成配列
にこの$linksNew =array('proizvodi/','proizvodi/pokloni/', 'proizvodi/pokloni/kuhinja/');
Txanksよう
これを見ていきます別の配列を作成する必要があり、この
$links =array('proizvodi','pokloni', 'kuhinja');
ように見えるいくつかの配列を持っています原始的なアプローチになります:
<?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サーバーのエラーログファイルを調べてください。そこでは_特定の問題が何であるかを読むことができます。 – 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