-
kaitenz
CI
-
Posts: 61
Threads: 16
Joined: Jul 2018
Reputation:
2
12-12-2018, 02:17 AM
(This post was last modified: 12-12-2018, 02:21 AM by kaitenz.
Edit Reason: Added "expected results"
)
Hi everyone.
I want to distribute/assign some data randomly but even amount from an array of users to an array of data.
Here's an example:
I have an array of user ids:
PHP Code: $users = array(20, 47, 25, 210, 194);
Then the array of data:
PHP Code: $data = array( array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???'), array('department' => '???', 'datecreated' => '???') );
// Just assume that we have real data :)
And the result should be like this (to be used by Query Builder's insert_batch()):
PHP Code: $data = array( array('department' => '???', 'datecreated' => '???', 'assignee' => '20'), array('department' => '???', 'datecreated' => '???', 'assignee' => '210'), array('department' => '???', 'datecreated' => '???', 'assignee' => '25'), array('department' => '???', 'datecreated' => '???', 'assignee' => '194'), array('department' => '???', 'datecreated' => '???', 'assignee' => '47'), array('department' => '???', 'datecreated' => '???', 'assignee' => '20'), array('department' => '???', 'datecreated' => '???', 'assignee' => '25'), array('department' => '???', 'datecreated' => '???', 'assignee' => '194'), array('department' => '???', 'datecreated' => '???', 'assignee' => '20'), array('department' => '???', 'datecreated' => '???', 'assignee' => '194'), array('department' => '???', 'datecreated' => '???', 'assignee' => '210'), array('department' => '???', 'datecreated' => '???', 'assignee' => '47'), array('department' => '???', 'datecreated' => '???', 'assignee' => '210'), array('department' => '???', 'datecreated' => '???', 'assignee' => '25'), array('department' => '???', 'datecreated' => '???', 'assignee' => '20'), array('department' => '???', 'datecreated' => '???', 'assignee' => '210'), array('department' => '???', 'datecreated' => '???', 'assignee' => '47') );
Now, I want to assign (from the example) 17 rows to 5 users. So 3 for each user (and the remaining 2 will be either distributed to a random user or to the last person). We want this to be random. I tried to code it myself but failed.
How can I achieve this? Any help?
Thank you very much
|