fatkatie Posted March 18, 2018 Share Posted March 18, 2018 This works fine if $field_one_order is replaced with SORT_ASC. array_multisort($field_one, $field_one_order, $field_two, SORT_ASC, $data_array); It gives the following error if a variable is used in place of a define array_multisort(): Argument #2 is expected to be an array or a sort flag I dump the var and it is indeed valued as expected. $field_one_order = 'SORT_ASC' Is the use of a variable not allowed here? If a def is required, can a variable be typed as one? Link to comment Share on other sites More sharing options...
requinix Posted March 18, 2018 Share Posted March 18, 2018 'SORT_ASC' is a string. SORT_ASC is a constant. Link to comment Share on other sites More sharing options...
mac_gyver Posted March 18, 2018 Share Posted March 18, 2018 the php defined constants are integer values. if you put the actual value into a variable, this will work. you have a string now, the name of the defined constant, not its value. Use - $field_one_order = SORT_ASC; You probably have this now - $field_one_order = 'SORT_ASC'; Link to comment Share on other sites More sharing options...
fatkatie Posted March 18, 2018 Author Share Posted March 18, 2018 $x = constant($field_one_order); (or plain assignment of def value) Should have known that. Thanks. Link to comment Share on other sites More sharing options...
requinix Posted March 19, 2018 Share Posted March 19, 2018 There's really no reason to use constant() or a string here. Just do the regular assignment like mac_gyver said. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.