Ik zit met een probleem waar ik niet uit kom. Wie zou mij hiermee kunnen helpen?

Dis is mijn code.:

<?php
                echo 'fixed array 3:<br>'; //next step is to use an sql-result
                $documentVersion = array(
                    8 => array(1,2,3,4,5,6,7),
                    9 => array(1,2,3,4,5,6),
                    10 => array(1,2,5,4,5,6)
                 );
                echo '<pre>'.print_r($documentVersion, true).'</pre>';
                
                //determine maximum per $documentVersion['key'] and put in an array $documentMaxFileVersion with $documentId as key en $maxFileVersion as value
                $documentMaxFileVersion = array();
                foreach($documentVersion as $documentId => $fileVersion)
                {
                    echo $documentId.': ';
                    $maxFileVersion = max($fileVersion).'<br>';
                    echo $maxFileVersion;
                    //place in array $documentMaxFileVersion with $documentId as key and $maxFileVersion as value.
                    
                    //And I get stuck here because I some can't figure out how to fill the array
                }
                echo '<br>';
                
                /*Het result of the foreachloop has to be (in this case):
                 *$documentenMaxBestandenVersies = array(8 => 7, 9 => 6, 10 => 6)
                 *Who can put me back on track?
                */
                
                echo '<pre>'.print_r($documentMaxFileVersion, true).'</pre>';
?>


Bij voorbaat dank!

<?php
echo 'fixed array 3:<br>'; //next step is to use an sql-result
$documentVersion = array(
8 => array(1,2,3,4,5,6,7),
9 => array(1,2,3,4,5,6),
10 => array(1,2,5,4,5,6)
);
echo '<pre>'.print_r($documentVersion, true).'</pre>';

//determine maximum per $documentVersion['key'] and put in an array $documentMaxFileVersion with $documentId as key en $maxFileVersion as value
/*
okee bovenstaande array is dus een twee dimentionale array zoals we dat noemen.
de buitenste laag heeft drie elementen met de keys 8, 9 en 10
de waarde van deze elementen is ook weer een array vandaar dat we ze dus twee dimensionaal noemen.
om nou door alle elementen te wandelen moeten we dus:
a. de elementen in de buitenste laag één voor één benaderen
b. van ieder element uit de buitenste laat ook weer alle elementen in die array benaderen

we doen dat door twee loops in elkaar te gebruiken:
foreach( $documentVersion as $dc )
{
foreach( $dc as $d )
{
echo $d . ' ';
}
echo '<br>';
}

alleen willen we natuurlijk van de onderste laag de hoogste waarde zien te verkrijgen:
*/

$documentMaxFileVersion = array();

foreach( $documentVersion as $key => $dc )
{
$highest = 0;

foreach( $dc as $d )
{
if($d > $highest)
$highest = $d;
}

$documentMaxFileVersion[$key] = $highest;
}


echo '<pre>'.print_r($documentMaxFileVersion, true).'</pre>';
?>

[size=xsmall]Toevoeging op 12/01/2014 21:37:40:[/size]

en dit zou ook kunnen:

<?php
foreach( $documentVersion as $key => $dc )
{
// sorteer de elementen op numerieke volgorde
sort($dc, SORT_NUMERIC);

// pak het laatste element van de array nu dit tevens degene is met de grootste waarde
$documentMaxFileVersion[$key] = end($dc);
}
?>
Cool! Thanks Frank.
Zo kan ik weer verder.

Reageren