Heb je al gekeken op
https://www.php.net/create_function naar het tweede codeblok met de anonymous-notatie?
Wel grappig, ik heb het bestaan van create_function() nog nooit eerder gekend. Maar goed, ik heb eval() dan ook altijd gemeden, wat er in deze functie gebruikt wordt, omdat het een evil functie was. De naam zegt het eigenlijk grotendeels al.
Link gekopieerd
Ja heb ik al gekeken, maar begrijp niet wat ik aan moet passen.
Link gekopieerd
function($a,$b) { return "Hier je code die uitgevoerd moet worden!" ; }
In die twee minuten had je natuurlijk wel wat kunnen proberen, hé? ;-)
Link gekopieerd
Voordat ik het bericht plaatste had ik al gekeken ;-)
Begrijp nu ook alleen niet wat ik precies moet aanpassen.
Link gekopieerd
Je moet tussen de accolades van de anonymous functie je code plaatsen, zoals je die normaal in het tweede argument van create_function gebruikt.
Link gekopieerd
Heb ik geprobeerd maar dan krijg ik een foutmelding op de eerste return
<?php
function sortBy($field, &$array, $direction = 'asc')
{
usort($array,
function ($a,$b) {
$a = $a["' . $field . '"];
$b = $b["' . $field . '"];
if ($a == $b) { return 0; }
}
);
return ($a . ($direction == 'desc' ? '>' : '<') . $b) ? -1 : 1;
}
?>
Link gekopieerd
dreamweaver geeft deze melding: syntax error, unexpected quoted-string (T_CONSTANT_ENCAPSED_STRING)
Link gekopieerd
Kijk goed naar de kleurtjes, dan zie je dat er op regel 15 iets verkeerd gaat.
Die tweede return heeft overigens geen nut. Bij de eerste return wordt de functie reeds verlaten.
Link gekopieerd
Ik krijg deze melding:
Parse error: syntax error, unexpected single-quoted string " . ($direction == "
als ik de single-quotes weghaal geeft die een foutmelding op de field dat die niet bestaat?
Begrijp ook niet wat ik fout doe.
Ik heb het stukje code hierboven aangepast.
[size=xsmall]Toevoeging op 21/04/2022 15:52:14: [/size]
Ik heb het anders opgelost, zonder de functie:
<?php
array_multisort(array_map(function($element) {
return $element['prijs'];
}, $array), SORT_ASC, $array);
?>
Dank iedereen voor het meedenken.
Link gekopieerd