function testOSort() { $michael = new stdClass(); $michael->name = 'Michael'; $michael->year = 1981; $lauren = new stdClass(); $lauren->name = 'Lauren'; $lauren->year = 1984; $boo = new stdClass(); $boo->name = 'Robbie'; $boo->year = 1989; $people = array($lauren, $michael, $boo); TimberHelper::osort($people, 'year'); $this->assertEquals('Michael', $people[0]->name); $this->assertEquals('Lauren', $people[1]->name); $this->assertEquals('Robbie', $people[2]->name); $this->assertEquals(1984, $people[1]->year); }
$clients = array(); $used_client_names = array(); foreach ($data['clients'] as $client) { if (is_string($client)) { $client_name = $client; $new_client = new stdClass(); $new_client->client_name = $client_name; if (!in_array($client_name, $used_client_names)) { $used_client_names[] = $client_name; $clients[] = $new_client; } } else { if (!$client->client_name) { $client->client_name = $client->post_title; $client_name = $client->client_name; if (!in_array($client_name, $used_client_names)) { $used_client_names[] = $client_name; $clients[] = $client; } } else { $client_name = $client->client_name; if (!in_array($client_name, $used_client_names)) { $used_client_names[] = $client_name; $clients[] = $client; } } } } $data['clients'] = $clients; TimberHelper::osort($data['clients'], 'client_name'); Timber::render('archive-portfolio.twig', $data);