1、寫一個函數將1,2,3,4,5,6隨機放到一個陣列,3不能在第三的位置,5和6不能挨著。
function sort_test($array) { while(true) { shuffle($array); $temp = array_flip($array); if ($array[2] != 3 && 1 != abs($temp[5] - $temp[6])) { return $array; } } } $array = array(1,2,3,4,5,6); print_r(sort_test($array));
function get_target_letter($str) { $i = 0; $array = array(); while(isset($str[$i])) { $array[$str[$i]] = isset($array[$str[$i]]) ? $array[$str[$i]] + 1 : 1; $i ++; } foreach($array as $key=>$val) { if ($val == 1) { return $key; } } return false; } echo get_target_letter('asdfastflasdfopafdsa');3、有兩個表:
CREATE TABLE products ( product_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, product_name VARCHAR(64) NOT NULL ); CREATE TABLE orders ( product_id INT UNSIGNED NOT NULL , create_at INT UNSIGNED NOT NULL, num INT UNSIGNED NOT NULL );
請寫一條sql語句查詢出t1-t2時間段間的產品名、銷售量總數並依照銷售量總數由高到低排序。
我的做法:
SELECT products.product_name, number.num FROM ((SELECT product_id, sum(num) AS num FROM orders WHERE orders.create_at BETWEEN {$t1} AND {$t2} GROUP BY product_id) AS number) INNER JOIN products ON products.product_id = number.product_id ORDER BY number.num DESC;這三個題印像比較深刻其它的不太記得了,答案是按照我自己的做法寫的,不對的地方請指正
以上就介紹了今天去聚美的幾個面試問題,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。