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? Quote 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. 1 Quote 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'; 1 Quote Link to comment Share on other sites More sharing options...
fatkatie Posted March 18, 2018 Author Share Posted March 18, 2018 (edited) $x = constant($field_one_order); (or plain assignment of def value) Should have known that. Thanks. Edited March 18, 2018 by fatkatie Quote 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.