Hi,
Na een eeuw stel ik hier nog eens een vraag
Ik heb een array (uit een database met leden) en ik wil een functie maken die voor elke kolom de lengte van de langste string kan weergeven als array. Even een leuk voorbeeldje:
$users = Array(0 => Array(gebruikersnaam => kort, skype => heelenormlang), 1 => Array(gebruikersnaam => antonn, skype => anton))
Zou moeten omgevormd worden tot dit:
$lengths = Array(gebruikersnaam => 6, skype => 13)
Wat heb ik al geprobeerd? Alles wat ik kon bedenken...
Dit is het beste wat ik tot nu toe heb:
Dit zou volledig moeten werken, maar dat doet het niet omdat PDO een associatieve array geeft zonder indexes (Array(gebruikersnaam => antonn) ipv Array(0 => antonn)). Ik heb de associatieve array nodig en moet de functie dus werkende krijgen met de gewone strings ipv indexes.
Als iemand mijn functie volledig werkende krijgt of zelf een goede variant kan maken ben ik heel blij. Je kan me ook uitleggen hoe ik dit zelf kan oplossen maar dan moet je meer typen gok ik zo en ik snap het even goed als je de code geeft
.
Indien dit niet duidelijk genoeg uitgelegd was stel je maar een vraag en probeer ik het te verduidelijken.
Super enorm bedankt
Na een eeuw stel ik hier nog eens een vraag

Ik heb een array (uit een database met leden) en ik wil een functie maken die voor elke kolom de lengte van de langste string kan weergeven als array. Even een leuk voorbeeldje:
$users = Array(0 => Array(gebruikersnaam => kort, skype => heelenormlang), 1 => Array(gebruikersnaam => antonn, skype => anton))
Zou moeten omgevormd worden tot dit:
$lengths = Array(gebruikersnaam => 6, skype => 13)
Wat heb ik al geprobeerd? Alles wat ik kon bedenken...
Dit is het beste wat ik tot nu toe heb:
// Allemaal $query database dingen
$query->execute();
$users = $query->fetchAll(PDO::FETCH_ASSOC);
$colLengths = Array();
for($cols = 0; $cols < count($users[0]); $cols++) {
$colLengths[$cols] = 0;
for($rows = 0; $rows < count($users); $rows++) {
if($colLengths[$cols] < strlen($users[$rows][$cols])) {
$colLengths[$cols] = min(strlen($users[$rows][$headercols[$cols]]), 50);
if($colLengths[$cols] == 50) {
break;
}
}
}
} Dit zou volledig moeten werken, maar dat doet het niet omdat PDO een associatieve array geeft zonder indexes (Array(gebruikersnaam => antonn) ipv Array(0 => antonn)). Ik heb de associatieve array nodig en moet de functie dus werkende krijgen met de gewone strings ipv indexes.
Als iemand mijn functie volledig werkende krijgt of zelf een goede variant kan maken ben ik heel blij. Je kan me ook uitleggen hoe ik dit zelf kan oplossen maar dan moet je meer typen gok ik zo en ik snap het even goed als je de code geeft
.Indien dit niet duidelijk genoeg uitgelegd was stel je maar een vraag en probeer ik het te verduidelijken.
Super enorm bedankt

ETCH_BOTH (associative & numeric) of