Erstellen habe ich ein mehrdimensionales Array, das wie folgt aussieht:ein mehrdimensionales Array aus einem Array
Array (
[0] => Array
(
['pathname'] => index.htm
)
[1] => Array
(
['category'] => wiki
)
[2] => Array
(
['pathname'] => anything.htm
)
[3] => Array
(
['category'] => readme
)
[4] => Array
(
['pathname'] => anotherthing.htm
)
[5] => Array
(
['category'] => wiki
)
)
Nun, das Array nicht korrekt ist, da jeder Pfad eine eigene Kategorie haben sollte. Also, was ich wirklich brauchen, ist die folgende Reihe:
Array (
[0] => Array
(
['pathname'] => index.htm
['category'] => wiki
)
[1] => Array
(
['pathname'] => anything.htm
['category'] => readme
)
[2] => Array
(
['pathname'] => anotherthing.htm
['category'] => wiki
)
Und das ist, wie mein Code wie folgt aussieht:
<?php
$data = array('index.htm', 'wiki', 'anything.htm', 'readme', 'anotherthing.htm', 'wiki');
$i = 0;
foreach ($data as $value) {
if (strpos($value, '.htm')) {
$path[$i]['pathname'] = $value;
}
if($value == 'readme' || $value == 'wiki') {
$path[$i]['category'] = $value;
}
$i++;
}
print_r($path);
?>
Was genau mache ich falsch? Jede Hilfe wäre willkommen!
Sie haben noch keine '$ path' Array in Ihrem Code definiert, schreiben dies vor der foreach-Schleife,' $ path = []; ' – blackcat
Die Art und Weise Sie konstruieren das Array ist korrekt, das Problem ist in Ihrem Fall Bedingungen – claudio
Was wird sein, wenn Sie haben, 5 oder 7 Element in Array? oder möchtest du die Standardkategorie festlegen? – OIIO