Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Исходный адрес:http://liuyanzhao.com/1821.html
Краткое изложение 100 вопросов для собеседования по PHP
1,Http Разница с HTTPS
Первое: http — протокол передачи гипертекста, информация передается в виде открытого текста, https — безопасный протокол передачи с шифрованием SSL.
Второе: http и https используют совершенно разные способы подключения, и порты тоже разные. Первый — 80. или 443
В-третьих: HTTP-соединение очень простое и не имеет состояния. Протокол https — это сетевой протокол, созданный на основе протокола ssl+http, который может выполнять зашифрованную передачу и аутентификацию личности.
2. Какие методы можно использовать для ускорения загрузки страницы?
1. Открывайте ресурсы сервера, когда они используются, и немедленно закрывайте их, когда они не используются.
2. Добавить индекс в базу данных
3. Страница может быть сгенерирована статически.
4. Большие файлы, например картинки, размещаются на отдельном сервере.
5. Если вы не можете выполнить запрос к базе данных, постарайтесь не получать данные. Вы можете поместить их в кеш.
3.В форме В чем разница между методами получения и отправки?
Ответ: get — это отправка запроса по протоколу HTTP и получение его через передачу параметров URL, тогда как post — это данные сущности, а через форму можно отправить большой объем информации.
4.echo ,print,print_r Разница:
echo Это оператор PHP без возвращаемого значения.
Print и print_r — функции с возвращаемыми значениями.
print() Выводить можно только значения переменных простого типа (таких как int, string).
print_r() Вы можете распечатать значения переменных сложного типа (например, массивов, объектов)
echo Вывод одной или нескольких строк
5. Разница между сеансом и файлом cookie
Сессия аналогична файлу cookie: межстраничная, а не межпользовательская.
Сеанс — это не то же самое, что файл cookie:
1. Сессия может хранить данные любого типа, но файлы cookie могут хранить только строки.
2. Файлы cookie генерируются на стороне сервера и сохраняются на стороне клиента.
Сессия генерируется и сохраняется на стороне сервера.
6.Магические константы
Отвечать:
__LINE__Текущий номер строки в файле.
__FILE__ Полный путь и имя файла.
__FUNCTION__ имя функции
__CLASS__Название класса
Имя метода класса __METHOD__.
7.Что такое транзакции в базе данных?
Ответ: Транзакция — это упорядоченный набор операций с базой данных как единое целое. Транзакция считается успешной, если все операции в группе успешны, даже если только одна операция завершилась неудачно, транзакция не считается успешной. Если все операции завершены, транзакция фиксируется, и ее изменения применяются ко всем остальным процессам базы данных. Если операция завершается неудачно, транзакция откатывается, и результаты всех операций в транзакции отменяются.
8.1 Методы оптимизации базы данных MYSQL.
1. Выберите соответствующий тип данных поля.
1) Вы можете использовать числа вместо строк
2)char、varchar、text Можно использовать varchar, но не char
3) Добавить не в поле null Избегайте ключевых слов NULL (по умолчанию ценить)
2. Выберите соответствующее поле, которое будет служить первичным ключом.
1) Рекомендуется, чтобы каждая таблица имела первичный ключ.
2) Используйте числовые поля в качестве первичных ключей.
разделить таблицу
Разделите поля, чтобы отделить заголовок статьи от ее содержания.
2) Разделить записи, чтобы отделить записи этого года от записей предыдущих лет.
Добавьте индексы в поля соответствующим образом
а.Формат:
(Обычный индекс)->
Создать:СОЗДАТЬ INDEX <Имя индекса> ON tablename (индексное поле)
Изменить: ИЗМЕНИТЬ TABLE tablename ADD INDEX [имя индекса] (индексное поле)
Создать указанный индекс таблицы: CREATE TABLE tablename([...],INDEX[имя индекса](индексное поле))
(уникальный индекс)->
Создать:СОЗДАТЬ UNIQUE <Имя индекса> ON tablename (индексное поле)
Изменить: ИЗМЕНИТЬ TABLE tablename ADD UNIQUE [имя индекса] (индексное поле)
Создать указанный индекс таблицы: CREATE TABLE tablename([...],UNIQUE[имя индекса](индексное поле))
(первичный ключ)->
Это уникальный индекс, обычно создаваемый при создании таблицы. Формат:
CREATA TABLE tablename ([...],PRIMARY КЛЮЧ[индексное поле])
5. Обработка транзакций:
a. Обеспечьте целостность данных, например, одновременное добавление и изменение. Если оба являются истинными, оба будут выполнены. Если один из них не удастся, он завершится ошибкой.
mysql_query("BEGIN");
mysql_query("INSERT INTO customerinfo (name) VALUES ('$name1')";
mysql_query("SELECT * FROM `orderinfo` where customerid=".$id"); mysql_query("COMMIT"); 6. Заблокируйте таблицу и оптимизируйте обработку транзакций: а. Мы используем SELECT оператор, чтобы извлечь исходные данные и выполнить некоторые вычисления, использовать UPDATE оператор обновляет новые значения в таблице. Содержит WRITE ключевое слово LOCK TABLE заявление может быть гарантировано находиться в UNLOCK TABLES Прежде чем команда будет выполнена, Других посещений не будет. inventory Выполнение операций вставки, обновления или удаления mysql_query("LOCK TABLE customerinfo READ, orderinfo WRITE"); mysql_query("SELECT customerid FROM `customerinfo` where id=".$id); mysql_query("UPDATE `orderinfo` SET ordertitle='$title' where
customerid=".$id); mysql_query("UNLOCK TABLES"); 7. Используйте внешние ключи для оптимизации таблиц блокировок. a. Сопоставьте идентификатор клиента в информации о клиенте с идентификатором клиента в информации о заказе, Любая запись без действительного идентификатора клиента не будет записана в orderinfo. CREATE TABLE customerinfo( customerid INT NOT NULL, PRIMARY KEY(customerid) )TYPE = INNODB; CREATE TABLE orderinfo( orderid INT NOT NULL, customerid INT NOT NULL, PRIMARY KEY(customerid,orderid), FOREIGN KEY (customerid) REFERENCES customerinfo (customerid) ON DELETE CASCADE )TYPE = INNODB; Примечание: «ВКЛ. DELETE CASCADE', этот параметр гарантирует, что при удалении записи в таблице customerinfo заказ также будет удален. Для всех записей этого пользователя в таблице обратите внимание, что при использовании внешних ключей тип безопасности транзакции должен быть определен как INNODB; 8. Оптимизируйте операторы запроса aИспользуйте внутреннее соединение вместо подзапроса вместо подзапроса, используйте sphinx вместо нечеткого запроса б. Лучше всего выполнять операции сравнения над одними и теми же полями и минимизировать функциональные операции над установленными индексными полями. Пример 1: SELECT * FROM order WHERE YEAR(orderDate)<2008;(медленный) SELECT * FROM order WHERE orderDate<"2008-01-01";(быстрый) Пример 2: SELECT * FROM order WHERE addtime/7<24;(медленный) SELECT * FROM order WHERE addtime<24*7;(быстрый) Пример 3: SELECT * FROM order WHERE title like "%good%"; SELECT * FROM order WHERE title>="good" and name<"good"; кэширование, статическое Выберите подходящую систему хранения, используйте Innodb для добавления, удаления и изменения и используйте myisam для запроса. База данных «главный-подчиненный» балансировка нагрузки Лучше всего использовать поле числового типа в качестве условия. Лучше всего сравнивать поля одного типа (во избежание преобразования типов данных). Не добавляйте функции базы данных в поля, имеющие индексы (инвалидация индексов). 8.2 Кратко опишите метод оптимизации эффективности выполнения SQL-операторов в проекте. С каких сторон как анализировать производительность SQL-операторов? Ответ: (1) Выберите наиболее эффективный порядок имен таблиц. (2) Порядок подключения в предложении WHERE (3) Избегайте использования «*» в предложении SELECT. (4) Замените предложение HAVING предложением Where. (5) Повышение эффективности SQL с помощью внутренних функций. (6) Избегайте использования вычислений в индексных столбцах. (7) Улучшить ГРУППУ BY эффективность высказываний, Вы можете добавлять ненужные записи в ГРУППУ. BY отфильтровано раньше. 9. Какие методы используются для решения проблемы трафика на веб-сайтах с высоким трафиком? 1. Подтвердите, достаточно ли оборудования сервера для поддержки текущего трафика. 2. Оптимизируйте доступ к базе данных 3. Запретить внешние горячие ссылки 4. Контролируйте загрузку больших файлов 5. Используйте разные хосты для перенаправления основного трафика. 6. Используйте программное обеспечение для анализа трафика и статистики. 10. Функция, которая может просматривать все файлы и подпапки в папке (20 баллов) function dir_recurse($dir) { $i = 1; if($handle = opendir($dir)) { while(false !== ($file = readdir($handle))) { if($file != "."&& $file != ".." ) { if(is_dir($dir."/".$file) == true) { $fullpath = $dir."/".$file; dir_recurse($fullpath); echo "$fullpath\n"; $i++; }else { $fullpath = $dir."/".$file; echo "$fullpath\n"; $i++; } } } closedir($handle); } } 10.2. Напишите функцию, которая может просматривать все файлы и подпапки в папке. function my_scandir($dir){ $files = array(); if ( $handle = opendir($dir) ) { while ( ($file = readdir($handle)) !== false ) { if ( $file != ".."&& $file != "." ) { if ( is_dir($dir . "/" . $file) ) { $files[$file] = scandir($dir . "/" . $file); }else { $files[] = $file; } } } closedir($handle); return $files; } } 11. Шаблоны, позволяющие использовать HTML и PHP отдельно (1 балл) Образцы: Smarty, Dwoo, TinyButStrong, Template. Lite,Savant,phemplate,XTemplate 12. Какие инструменты используются для контроля версий (1 балл)? Ответ: cvs,svn,vss; 13. Как реализовать переворачивание строк (3 балла)? Английский: strrev($a) Китайский или другой текст: Китайский: ГБ2312, Код закодирован с использованием GB2312. <?php function reverse($str) { $ret = ""; len=mb s trwidth( len=mbstrwidth(len = mb_strwidth(str,"GB2312"); for(i=0; i=0;i=0; i< len; len;len; i++) { arr[]=mb s ubstr( arr[]=mbsubstr(arr[] = mb_substr(str, $i, 1, "GB2312"); } return implode("", array_reverse($arr)); } print_r(reverse("Привет"); 14.Значение PHP (получите 1 балл) PHP — это серверный язык сценариев для создания динамических веб-сайтов. Вы можете использовать PHP и HTML для создания домашней страницы веб-сайта. 15.Какова функция MYSQL для получения текущего времени? и функция форматирования даты (2 балла) отвечать:сейчас(),дата() 16. Используйте PHP для написания кода для отображения IP-адреса клиента и IP-адреса сервера 1 точка) Ответ: Распечатать IP-адрес клиента: echo $_SERVER[‘REMOTE_ADDR’]; или: getenv('REMOTE_ADDR'); IP-адрес сервера печати: эхо gethostbyname("www.bolaiwu.com") 17. В чем разница между операторами include и require Чтобы избежать многократного включения одного и того же файла, их можно заменить операторами (?)? отвечать:require->requireОн включается безоговорочно, то есть если он добавлен в процессrequire,Независимо от того, соблюдены условия или нет. Сначала выполним require include->includeЕсть возвращаемое значение,иrequireНет(возможно из-за этогоrequireпередаточное числоincludeбыстрый) Примечание: require является фатальным, если включаемый файл не существует или имеет синтаксическую ошибку, а include нет. 18.http-запрос возвращает код состояния 400 Неверный запрос 401 Несанкционированный 403 Запрос запрещен 404 Запрошенный ресурс не существует 405 Запрос ресурса запрещен 406 неприемлемо 407 Требовать аутентификацию прокси 500 Internal Server Error Ошибка исходного кода сервера 600 Исходный сайт не возвращает заголовки ответов, а только содержимое реализации. 19. Код авторизации Linux: 600 Владелец имеет права на чтение и запись. 644 Владелец имеет права на чтение и запись.,Группа свойств прочитала Разрешения 700 Владелец имеет разрешения на чтение, запись и выполнение. 755 Владелец имеет разрешения на чтение, запись и выполнение.,Группа свойств прочитала,разрешение на выполнение 711 Владелец имеет разрешения на чтение, запись и выполнение.,属性组有разрешение на выполнение 666 Все пользователи имеют права на чтение и запись в файл. 777 Все пользователи имеют разрешения на чтение, запись и выполнение файла. 20. Есть веб-адрес, Например, домашняя страница Сети ресурсов по разработке PHP: http://www.phpres.com/index.html, как получить его содержимое (1 балл) Ответ: Способ 1 (для PHP5 и выше): $readcontents = fopen("http://www.phpres.com/index.html", "rb");
$contents = stream_get_contents($readcontents);
fclose($readcontents);
echo $contents;
Метод 2:
echo file_get_contents("http://www.phpres.com/index.html");
21.Какова функция error_reporting в PHP? (1 балл)
Ответ: Установите уровень ошибок и отчеты об ошибках.
22.Какая функция вызывает всплывающее диалоговое окно в форме JS. Какая функция позволяет получить фокус ввода? (2 очка)
Ответ: Всплывающее диалоговое окно: alert(),prompt(),confirm()
Получить фокус ввода focus()
23.В чем разница между foo() и @foo()?(1 балл)
Ответ: @foo() управляет выводом ошибок.
24、mysql_fetch_row() В чем разница между mysql_fetch_array и mysql_fetch_array? (1 балл)
Ответ: mysql_fetch_row — извлечь массив из 1 строки из набора результатов в виде перечисления.
mysql_fetch_array предназначен для извлечения массива строк из набора результатов в виде ассоциативного массива или числового массива, и то, и другое.
25. Для чего используется библиотека GD? (1 балл)
Ответ: Библиотека GD предоставляет ряд API для обработки изображений. Вы можете использовать библиотеку GD для обработки или создания изображений.
На веб-сайтах библиотека GD обычно используется для создания миниатюр или добавления водяных знаков к изображениям, а также для создания отчетов по данным веб-сайта.
26. Объектно-ориентированное программирование
Есть два важных понятия: класс и объект.
Класс — это абстрактная модель с определенной функцией. В практических приложениях перед использованием необходимо создать экземпляр класса. Это вводит понятие объектов.
Объект — это продукт класса, экземпляр которого создан и который является сущностью.
Инкапсуляция : Превратите объективные вещи Инкапсуляция в абстрактный добрый.
Наследование: подклассы наследуют родительский класс и могут использовать свойства и методы родительского класса. Вы можете реализовать интерфейс и одновременно реализовать все методы в интерфейсе.
Полиморфизм: переопределение и перегрузка Подклассы могут переопределять методы в родительском классе; класс может одновременно иметь методы с одинаковым именем функции, но параметры методов разные и получаемые результаты тоже разные.
27.php фреймворк
Знаком с YII. , Thinkphp и Laravel ,symfony2,cakephp
28. механизм хранения mysql
ISAM: Скорость запросов высокая, добавление, удаление и изменение медленные, поддерживается полнотекстовый индекс, внешние ключи не поддерживаются и транзакции не поддерживаются.
MyISAM: Обновленная версия ISAM
Memory: Данные находятся в памяти, скорость высокая, управление данными нестабильно, все данные теряются после отключения электроэнергии.
InnoDB: Медленная скорость, поддержка внешних ключей, поддержка транзакций, не поддержка полнотекстовой индексации.
Используемый механизм хранения
MyISAM: система управления контентом (новости, официальный сайт, электронная коммерция, загрузка программного обеспечения, жилье, подбор персонала...) Читабельно, но не изменяемо В основном просматриваю информацию
InnoDB: технические веб-сайты (bbs, блог, webo, оа...)
29. Процесс работы с базой данных
$link = mysql_connect("localhost","root","root");
mysql_select_db("test",$link);
$sql ="select * from table";
$result = mysql_query($sql);
while($row =mysql_fetch_****($result) ){
$arr[]=$row;
}
$row = mysql_fetch_array($result) Значение: $row['name'] сумма$строка[1] Значение можно получить
$row = mysql_fetch_row($result)) Значение: $row[1] Для получения значения используется только индекс, а смещение начинается с 0.
$row = mysql_fetch_assoc($result)) иметь в виду: $row['name'] Имя поля как значение индекса Извлеките запись и преобразуйте ее в Ассоциативный массив, возвращает false в случае ошибки
30.php функция шифрования
crypt($str[,$slat]) Может выполнять функцию одностороннего шифрования
md5()
sha1() Возвращает 40-значное шестнадцатеричное число,
Библиотека расширений шифрования
Mcrypt() и Маш
31. Строка «к upper case” Используйте php и оболочку соответственно , js реализует преобразование всех символов строки в верхний регистр и выводит их. (5 баллов)
PHP-реализация: echo strtoupper(‘to upper case’)
Реализация оболочки: эхо "to upper case" | tr 'a-z' 'A-Z'
Js-реализация:
<script language="javascript">
var stmp1 = " to upper case ";
alert(stmp1.toLocaleUpperCase());//Преобразовать в верхний регистр
alert(stmp1.toUpperCase())//Преобразовать в верхний регистр
</script>
32. Предотвращение SQL-инъекций
1) Общее использование addslashes функция
addslashes Функция добавляет обратную косую черту перед указанным предопределенным символом.
MD5-шифрование полей и паролей
Фильтрация предварительной обработки
33. Используйте PHP, чтобы распечатать время предыдущего дня, формат: 2006-5-10. 22:21:21
<?php
//echo date('Y-m-d H:i:s',time()-60*60*24
echo date("Y:m:d H:i:s",strtotime("-1 day"));
?>
34. Как реализовать переворот строк?
Фактически, в самом PHP есть метод переворота строк. Функция: strrev(),Можно попробовать эхо strrev($str);Однако
Все три метода не могут решить проблему переворота китайской строки и вызовут ошибки.
код
<?php
function reverse($var) {
$res="";
for($i=0,$j=strlen($var);$i<$j;$i++)
{
$res=$var[$i].$res;
}
return $res;
}
$tmpvar="wofang";
$res=reverse($tmpvar);
echo $res;
?>
35. Способ перехвата текстовых строк на китайском языке без искаженных символов.
mb_substr()
36.Какое из следующих предложений не означает John добавить в users Множество?
$users[] = 'john';
Успешно John добавить в массиве users。
array_add($users,’john’);
функция array_add() Нет определения.
array_push($users,‘john’);
Успешно John добавить в массиве users。
$users ||= 'john';
Синтаксическая ошибка.
37.сортировать(), сортировать() и ksort() Какая разница? При каких обстоятельствах они используются?
sort()
В соответствии со значением элементов массива, отсортированных в английском алфавитном порядке, индексный ключ будет иметь вид 0 приезжать n-1 Перенумеровать. хозяин
Если используется, когда значение индексного ключа массива не имеет значения. Сортировка массива.
assort()
PHP Нет assort() функция,так что это может быть asort() канцелярская ошибка.
asort()
и sort() Такой же把Множествоиз元素按英文字母顺序来排列,Разница в том, что все индексные ключи сохраняются.,Особенно подходит для LenovoСортировка массива.
ksort()
Сортировка в английском алфавитном порядке по значению индексного ключа в массиве. Это особенно подходит для ассоциативных массивов, в которых требуется сортировать индексные ключи.
38.Что даст следующий код? Почему?
$num =10;
function multiply(){
$num =$num *10;
}
multiply();
echo $num;
потому чтофункция multiply() Нетобозначение $num для глобальных переменных (например. global $num или
$_GLOBALS['num']), поэтому $num Значение 10。
39.некоторыйфункция Может использоваться для вставки в текущий исполняемый скрипт.функция Библиотека?
Разное понимание этого вопроса приведет к разным ответам. Моя первая мысль — вставить. PHP функция Библиотекане более чем
include()、include_once()、require ()、require_once(),Но подумайте об этом хорошенько,“функция Библиотека”также должен включать com объекты и .net функция Библиотека,所以我们изотвечать案也要точка别включать
com_load и dotnet_load,в следующий раз, когда кто-нибудь упомянет“функция Библиотека”когда,Не забудь этих двоихфункция。
40.foo() и @foo() Какая разница?
foo() выполню этофункция,любые ошибки интерпретации、синтаксическая ошибка、На странице будут отображаться ошибки выполнения.
@foo() Во время выполнения этогофункциячас,скроет все сообщения об ошибках, упомянутые выше。
Многие приложения используют @mysql_connect() и @mysql_query спрятать mysql сообщение об ошибке, я думаю, что это серьезная ошибка, потому что ошибка Их не следует скрывать, с ними необходимо правильно обращаться и по возможности разрешать.
Что такое "==="? Приведите пример, где «==" истинно, а «===" ложно.
“===”это либо вернуть логическое значение“Фальшивый”,Вы также можете отправить обратно значение, которое не является логическим, но может быть присвоено.и“Фальшивый”Достойныйфункция,strpos() и strrpos() Это два примера.
Вторая часть вопроса немного сложнее: легко придумать пример, где «==" ложно, а «===" истинно,
Есть несколько примеров обратного. Но я наконец нашел те, что ниже. пример:
if (strpos("abc", "a") == true){ // Эта часть никогда не будет выполнена, потому что "a" кусочек
установите да 0, преобразуется в логическое значение «false»}if (strpos("abc", "a") === true){ // эта часть
будет выполнен,потому что“===”гарантироватьфункция strpos() Возвращаемое значение не будет преобразовано в логическое значение.}
42、Как изменитьSESSIONиз生存час间(1 балл).
Ответ: Способ 1: установите для session.gc_maxlifetime в php.ini значение 9999 и перезапустите Apache.
Метод 2:$savePath = "./session_save_dir/";
$lifeTime = Час * Второй;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();
Метод 3: setcookie() and session_set_cookie_params($lifeTime);
43. В PHP,heredoc — это специальная строка,Его конечный флаг должен?(1 балл)
отвечать:heredocСинтаксис заключается в использовании"<<<"Добавьте свои собственные парные теги,существовать标签范围內из文字视为один
нить
пример:
$str = <<<SHOW my name is Jiang Qihui! SHOW;
существоватьPHPсерединаerror_reportingэтотфункция Какова функция? (1 балл)
Ответ: Установите уровень ошибок и отчеты об ошибках.
пожалуйста, напишите одинфункция验证电子邮件из格式данет正确 (2 очка)
Ответ: функция checkEmail($email) {
$pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0- 9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";
return preg_match($pregEmail,$email);
}
46. Запишите, пожалуйста, тип данных (int char varchar datetime текст) средства; пожалуйста, спросите варчаричар
В чем разница (2 очка)
Ответ: int — это числовой тип, char — строка фиксированной длины, varchar — строка фактической длины, а datetime — дата.
Интертип, текстовая текстовая строка
Поле char имеет фиксированную длину, установленную при создании таблицы, а varchar — это символ переменной длины.
47、检测один个变量данет有设наборизфункцияданет?данет为空изфункцияда?(2 очка)
отвечать:isset($str),пустой($str);
48、Получить общее количество наборов результатов запросафункцияда?(1 балл)
Ответ:mysql_num_rows($result);
49 Кратко опишите, как получить путь к текущему исполняемому сценарию.,Включает результирующие параметры проживания.
<?php
echo "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."?".$_SERVER
['QUERY_STRING'];
//echo "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>
50 Приведите пример того, какие методы вы используете для ускорения загрузки страниц в процессе разработки.
Хотите использоватьприезжатьсервер资源час才打开
Своевременно закрывайте ресурсы сервера,
Добавить индекс в базу данных,
Страница может генерировать статику, картинки и другие большие файлы на отдельном сервере.
Используйте инструмент оптимизации кода
51. 给定один个用逗号точка隔один组Достойный字符串,Что из следующегофункция能существовать仅调用один次из情况下就
Поместить каждое отдельное значение во вновь созданный массив?
A.strstr()
Б. Невозможно вызвать его один раз и завершить
C.extract()
D.explode()√
E.strtok()
52. Если вы используете оператор + для добавления целого числа,Каков будет результат?
А. Интерпретатор выдает ошибку типа
B.Строка будет преобразована в число,Добавить целые числа
С. Строки будут отброшены, останутся только целые числа√
Д. Строки и целые числа будут объединены в новую строку.
Э. Целые числа отбрасываются, а строки сохраняются.
53. Что выводит следующий скрипт?
$s = '12345';
$s[$s[1]] = '2';
echo $s;
?>
A.12345
B.12245√
C.22345
D.11345
54. Что выводит следующий скрипт?
$x = 'apple';
echo substr_replace ($x, 'x', 1, 2);
?>
A.x
B.axle√
C.axxle
D.applex
E.xapple
55. функция______能读取文本документсерединаизодин行。Чтение двоичного файлаили其他документчас,должен
用______функция。
A.fgets(), fseek()
B.fread(), fgets()
C.fputs(), fgets()
D.fgets(), fread()√
E.fread(), fseek()
56.Которыйфункция能够往文本документсередина写入одиннить?
Отвечать:fwrite()иfputs()двафункциясуществовать这里都Может,и后者其实да前者псевдоним。существовать
PHPсередина,Разница между записью двоичных данных и записью строки Нет.
57.функция______能判断один个документданет可写。
Отвечать:is_writeable
58.Что из следующего选项能Волядокумент指针移приезжатьначало?
A.reset()
B.fseek(-1)
C.fseek(0, SEEK_END)
D.fseek(0, SEEK_SET)√
E.fseek(0, SEEK_CUR)
59. Функция включения такая же, как и require,Разница в том,,require不能用существовать[ ]
A. В операторе суждения или цикле
Б. В заявлении о подключении
C. В заявлении о декларации
D. Начало файла
E. Середина файла √
50、Создайте MySQL ниже Правильный синтаксис подключения сервера: [ ]
A、$link=connect("host_name","user_name","password");
B、$link=mysql_connect("host_name","user_name","password");√
C、$link=mysqlconnect("host_name","user_name","password");
D、$link=mysql_pconnect("host_name","user_name","password");√
E、$link=pconnect("host_name","user_name","password");
51.Преобразовать строку в нижний регистр.
strtolower(): Долженфункция Воля传入из字符串параметр所有из字符都преобразован в小写,и в малой определенной форме
Положи это обратно
52. Преобразование символов в верхний регистр
strtoupper(): Долженфункция Функция такая же, какstrtolowerфункция Напротив,заключается в преобразовании всех символов символьного параметра, переданного в
Преобразовать в верхний регистр,И возвращает эту нить в верхнем регистре. Использование такое же, как и для strtolowe(). Образец.
53. Преобразуйте первый символ строки в верхний регистр.
ucfirst(): Долженфункцияиз作用да Воля字符串из第один个字符改成大写,Долженфункция返回首字符大
写из字符串.Использование такое же, какstrtolowe()один Образец.
54. Преобразуйте первый символ каждого слова в строке в верхний регистр.
ucwords(): Долженфункция Делайте заглавными буквы первый символ каждого слова в переданной строке..нравиться"hello world",经过Долженфункция После обработки,вернет «Привет Word".Использование такое же, какstrtolowe()один Образец.
55、NoSQL: не только SQL
Идея: Часть данных, генерируемых сайтом, сохраняется в базе данных.、один部точка存приезжатьNoSQLСопутствующие товары
NoSQL-продукты
1. Memcache: память (быстрая скорость, небольшой объем данных), срок действия данных.
2. MongoDB: база данных документов.
3、Redis:Память(быстрый、небольшой объем данных)、Библиотека、Нет过期час间
Какие данные и где они хранятся?
MySQL: стабильные данные
NoSQL: активные данные
57 категорий кэша
1. Места хранения данных кэша разные
1) Файловый кэш
2) Кэш-память
2. Различия в объёме кэшируемых данных
1) Кэширование страниц
2) Частичный кэш
3) Нет локального кэширования
4) Кэш данных (кэш переменных, динамический кеш)
Memcache: кеш памяти, кеш переменных.
58 .LINUX команда
Просмотр всего содержимого в текущем каталоге ls
Создать новую папку в текущем каталоге mkdir имя папки
Удалить указанную папку rmdir имя папки Удалить можно только пустые каталоги
Создайте новый пустой файл в текущем каталоге. touch имя файла
Удалить файл в текущем каталоге unlinkимя файла
Удалить файл или папку rm
копироватьдокумент cp
Переместить файл или папку mv
Переименование файла или папки mv
Посмотреть полный рабочий каталог pwd
Переключить каталоги: cd cd/ Вернуться в корневой каталог
передача файлов ftp
Просмотр содержимого файла cat имя файла
Посмотреть кодировку файла file имя файла
Найти файлы find путь -name имя файла
Изменить права доступа к файлу или папке
Тип разрешения: г 4 (чтение), Вт 2 (запись), х 1(исполнение)
Операторы разрешений: + (Предоставить разрешение), - (Отменить разрешение).
Типы пользователей: a (владелец), u (владелец файла), g (пользователь группы), o (другие пользователи)
Разрешения на просмотр: ls -l
-rw-r--r-- a.txt
drwxr-xr-x hello
Позиция 1: Это файл или папка (-файл, папка d)
№ 234: Разрешения пользователя u
№ 567: Разрешения пользователя g
Последние три цифры: o права пользователя.
1) Дайте максимальные разрешения для файла .txt.
chmod a+r+w+x a.txt
chmod 777 a.txt
2) Установите разрешения a.txt и отзовите разрешения wx у пользователя o
chmod o-w-x a.txt
4) Установите разрешения для файла A.txt: u:rw. g:r o:r
chmod 644 a.txt
5) Установите права папки hello и дайте максимальные разрешения (не влияет на подфайлы)
chmod 777 hello
6) Установите права папки hello и дайте максимальные разрешения (затрагивает подфайлы)
chmod -R 777 hello
59. Создайте файл exer1.,Установите права доступа на rw-r--r--,现要增加所有用户изразрешение на выполнениеи同组用户из写Разрешения,Напишите команды для процесса работы(10точка)
touch exer1
chmod 644 exer1
Добавить разрешения
chmod a+x exer1
chmod g+w exer1
или
chmod 775 exer1
60 мест, где легко программировать
Кодировка формата сохранения файла
<meta http-equiv=”content-type” content=”text/html;charset=utf-8”>
Header();
Кодировка самого Msq (изменить ini)
Set names gbk;
Mysql_query(“set names utf8”);
Iconv()Функция системы PHP перекодирование
61. Как работает PHP
один个网站运行час客户端有无数个,сервер通常只有один个(балансировка нагрузки)
Установка среды разработки 2, PHP5.4, MYSQL5.3 ------- с открытым исходным кодом, может быть кроссплатформенным.
Файл конфигурации: conf (Apache), php.ini my.ini
Состав документа PHP: HTML, css, js, jquery, PHP
Стили синтаксиса PHP: стиль xml, короткий стиль, стиль ASP (устаревший), стиль сценария.
<?php ?>Уведомление:любая позиция,Одна и та же страница может появляться несколько раз,Не может быть вложенным,В нем может присутствовать только phpкод,Необходимо преобразовать в строковый вывод
Запуск на стороне сервера
Комментарии: однострочные комментарии, многострочные комментарии.
62 типа данных:
Скалярные типы: целое число, число с плавающей запятой, строка, логическое значение.
Составные типы: массив, объект.
Специальные типы: Ресурс, Нуль
фальшивыйдобрыйформа:mixed,number,callback(перезвонитьфункция)
63. Значения, считающиеся ложными в PHP:
0, 0.0, null, пустой массив, пустая строка, false
64. Найдите разницу между двумя датами, например 27 февраля 2012 г. ~ 2013-05-6 разница дат
<?php
function get_days($date1, $date2){
$time1 = strtotime($date1);
$time2 = strtotime($date2);
return ($time2-$time1)/86400;
}
echo get_days("2013-05-6", "2012-2-27");
?>
65Что такое MVC?
Ответ: MVC состоит из модели, Состав View (Вид) и Controller (Контроллер),PHP MVC может более эффективно управлять тремя различными уровнями кода PHP.
Модель: уровень доступа к информации о данных.
Представление. Уровень представления отвечает за отображение данных приложения в интерфейсе определенным образом.
Контроллер: обычно контроллер отвечает за чтение данных из представления, управление вводом пользователя и отправку данных в модель.
66.Каков метод получения размера изображения в PHP?
Ответ: getimagesize () Получить размер изображения
Imagesx () Получить ширину изображения
Imagesy () Получить высоту изображения
67. Как определить константы в PHP?
Ответ: используйте Define в PHP. () определить константы.
define (“Newconstant”, 30);
68. Как отправить форму без использования кнопки отправки?
нравиться果我们不想用submitкнопка для отправки формы,Мы также можем отправить сообщение, используя гиперссылки.,Мы можем написать такой код:
<a href=”javascript: document.myform.submit();”>Submit Me</a>
69. Кратко опишите принцип реализации бесконечной классификации на форуме.
отвечать:无限极точкадобрый,Так应Долженда考察递归функция Бар!
Шаг 1. Создайте тестовую базу данных:
CREATE TABLE `category` ( `id` smallint(5) unsigned NOT NULL auto_increment, `fid` smallint(5) unsigned NOT NULL default '0', `value` varchar(50) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Шаг 2. Вставьте тестовые данные:
INSERT INTO `category` ( `fid`, `value`) VALUES (0, 'PHP Diandiantong BlogPHPDDT.COM'), (1,'a'), (1,'b'), (2,'c'), (2,'d'), (4,'e')
Шаг 3: Рекурсивная классификация вывода:
70.Попробуйте описатьisset()иempty()изразница
isset() Проверьте, существует ли переменная empty() Проверьте, пуста ли переменная
71. Пожалуйста, используйте как можно меньше предложений, чтобы реализовать функцию проверки введенного адреса электронной почты.
eregi('^[_a-z0-9]+(/.[_a-z0-9-]+)*@[a-z0-9]+(/.[a-z0-9-]+)*$',$emailaddress)
72.использоватьPHPОпишите пузырьковую сортировкуибыстрый速排序алгоритм,объект Можетдаодин个множество
/пузырьковая сортировка (сортировка массива)
function bubble_sort($array) {
$count = count($array);
if ($count <= 0) return false;
for($i=0; $i<$count; $i++){
for($j=$count-1; $j>$i; $j–){
if ($array[$j] < $array[$j-1]){
$tmp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $tmp;
}
}
}
return $array;
}
//Быстрая сортировка (сортировка массива)
function quick_sort($array) {
if (count($array) <= 1) return $array;
$key = $array[0];
$left_arr = array();
$right_arr = array();
for ($i=1; $i<count($array); $i++){
if ($array[$i] <= $key)
$left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}
$left_arr = quick_sort($left_arr);
$right_arr = quick_sort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
73、использоватьPHPОписание заказа поиски二точка查找(Также называется половинным поиском)алгоритм,Последовательный поиск должен учитывать эффективность,объект Можетдаодин个有序множество
//Бинарный поиск (найти элемент в массиве)
function bin_sch($array, $low, $high, $k){
if ($low <= $high){
$mid = intval(($low+$high)/2);
if ($array[$mid] == $k){
return $mid;
}elseif ($k < $array[$mid]){
return bin_sch($array, $low, $mid-1, $k);
}else{
return bin_sch($array, $mid+1, $high, $k);
}
}
return -1;
}
//Последовательный поиск (найти элемент в массиве)
function seq_sch($array, $n, $k){
$array[$n] = $k;
for($i=0; $i<$n; $i++){
if($array[$i]==$k){
break;
}
}
if ($i<$n){
return $i;
}else{
return -1;
}
}
74.写один个二维множество排序алгоритмфункция,способный на универсальность,Можно позвонитьphpвстроенныйфункция
function array_sort($arr, $keys, $order=0) {
if (!is_array($arr)) {
return false;
}
$keysvalue = array();
foreach($arr as $key => $val) {
$keysvalue[$key] = $val[$keys];
}
if($order == 0){
asort($keysvalue);
}else {
arsort($keysvalue);
}
reset($keysvalue);
foreach($keysvalue as $key => $vals) {
$keysort[$key] = $key;
}
$new_array = array();
foreach($keysort as $key => $val) {
$new_array[$key] = $arr[$val];
}
return $new_array;
}
75.utf-8преобразован вgbkизфункцияда?
iconv("gbk",""UTF-8,"мы"); mb_convert_encoding($str, "GBK", "UTF-8")
76.Phpсерединаточка割字符串成множествоизфункцияисоединять数композиция字符串из函точка别有哪некоторый?
explode() split() ;implode() join()
77. Назовите мне несколько известных вам шаблонов проектирования?
Синглтон-режим: Убедитесь, что класс имеет только один экземпляр, и предоставьте глобальную точку доступа для доступа к нему, например соединение с базой данных в платформе.
Простой фабричный шаблон: У него есть несколько методов для создания объектов. Вы можете использовать фабричный класс для создания объектов без прямого использования. new。例нравиться初始化数据Библиотекакогда会用приезжать,Например MySQL,MSSQL
Режим стратегии: 针对один组алгоритм,Воля每один个алгоритм Инкапсуляцияприезжать具有共同接口из独立издобрыйсередина,Например, при входе на персональную домашнюю страницу,В зависимости от зрителя,给予不同из显示и操作
Режим регистрации: Обеспечивает упорядоченное хранение и управление набором глобальных объектов в программе. (объект), например Zend_Registry::set в среде ZF
Режим адаптера: Адаптируйте различные интерфейсы в единый интерфейс API. Например, операции с данными включают mysql, mysqli, pdo и т. д. Для унификации интерфейса можно использовать режим адаптера.
Режим наблюдателя: один个объектпроходитьдобавить водин个метод使本身变придется可观察。当可观察изобъект更改час,он отправит сообщениеприезжать已注册из观察者。例нравиться实现实现消息推送
Шаблон декоратора: 不修改原добрыйкоди继承из情况下动态扩展добрыйфункция,例нравиться框架из每个ControllerДокументация будет предоставленаbeforeиafterметод
Шаблон итератора: Предоставляет метод последовательного доступа к каждому элементу агрегатного объекта, который будет унаследован в PHP. Iterator добрый
Режим прототипа: Реализует интерфейс прототипа, который используется для создания клона текущего объекта. Этот режим используется, когда стоимость непосредственного создания объектов относительно высока. Например, объект необходимо создать после дорогостоящей операции с базой данных.
78. В чем разница между echo, print(), print_r(), printf(), sprintf() и var_dump()?
echo :да语句不дафункция,Нетвозвращаемое значение,Можно вывести несколько значений переменных,Скобки не требуются. Массивы и объекты не могут быть выведены,Можно печатать только простыедобрыйформа(нравитьсяint,string)
print :да语句不дафункция,Имеет возвращаемое значение 1,Можно вывести только одну переменную,Скобки не требуются. Массивы и объекты не могут быть выведены,Можно печатать только простыедобрыйформа(нравитьсяint,string)。
print_r
:дафункция,Может печатать соединениедобрыйформа,Например: помешивание, int, float, массив, объект и т. д.,При выводе массива он будет представлен структурой,и且Можетпроходитьprint_r($str,true)Приходите к посланникуprint_r不输出и返回print_rПосле обработкииз值
printf :дафункция,Отформатируйте текст и затем выведите его(ВидетьCязык)
sprintf :дафункция,Похоже на: printf,но не печатает,Вместо этого он возвращает форматированный текст,其他изиprintfТакой же。
var_dump :функция,输出变量из内容、добрыйформа或字符串из内容、добрыйформа、длина。Обычно используется для отладки。
79.echo count(“abc”); Каков результат?
Ответ: 1
Напишите функцию для сортировки двумерного массива.
Отвечать:array_multisort() 。
81. Какие методы вы используете для решения проблемы с трафиком на веб-сайтах с большим трафиком?
Сначала убедитесь, что аппаратное обеспечение сервера достаточно для поддержки текущего трафика.
Во-вторых, оптимизируйте доступ к базе данных.
В-третьих, внешний хотлинкинг запрещен.
В-четвертых, контролируйте загрузку больших файлов.
В-пятых, используйте разные хосты для перенаправления основного трафика.
В-шестых, используйте программное обеспечение для анализа трафика и статистики.
82.Что делает error_reporting(2047)?
Отвечать:эквивалентно error_reporting(‘E_ALL’); Распечатать все ошибки.
83、 Кратко опишите, как получить путь к текущему исполняемому сценарию.,Включает результирующие параметры проживания.
Посетите http://temp.com/phpinfo.php?id=1.
echo $_SERVER['SCRIPT_URL']; //придетсяприезжать/phpinfo.php
echo $_SERVER["SCRIPT_URI"]; //придетсяприезжатьhttp://temp.com/phpinfo.php
echo $_SERVER["SCRIPT_FILENAME"]; //придетсяприезжатьF:/www/Temp/phpinfo.php
echo $_SERVER["REQUEST_URI"]; //придетсяприезжать/phpinfo.php?id=1
echo $_SERVER["SCRIPT_NAME"]; //придетсяприезжать/phpinfo.php
Ссылка на сервер.php http://lesson.com/test/server.php?id=1
Напишите механизм работы сеанса.
При создании сеанса на сервере будет записан файл cookie. Каково содержимое файла cookie?
session机制даодин种сервер端из机制,сервериспользоватьодин种добрыйпохоже на散列表из结构(也可能就даиспользовать散列表)сохранить информацию。
当程序需要为某个客户端из请求创建один个sessionкогда,Сервер сначала проверяет, содержит ли запрос клиента идентификатор сеанса, называемый sessionid.,Если указан идентификатор сеанса, это означает, что сеанс для этого клиента уже был создан ранее.,Сервер следует заsessionid把этотsession检索出来использовать(нравиться果检索不приезжать,Возможно новый будет создан),Если запрос клиента не содержит идентификатор сеанса,则为этот客户端创建один个session并且生成один个иэтотsession相关联изsessionid,Значение sessionid не должно быть дубликатом.,Не легко найтиприезжать规律以仿造из字符串,Этот идентификатор сеанса будет возвращен клиенту в этом ответе и сохранен. _
Метод сохранения этого идентификатора сеанса может использовать файлы cookie.,这样существовать交互过程середина浏览器Может自动из按照规则把этот标识发给сервер。один般этотcookieиз名字都дадобрыйпохоже наSEEESIONID。r
потому чтоcookieМожет被人为из禁止,Должен быть какой-то другой механизм, позволяющий передавать идентификатор сеанса обратно на сервер, когда файлы cookie отключены. Часто используемый метод называется перезаписью URL.,就да把sessionid直接附加существоватьURLпутьизпозже,Есть два дополнительных способа,один种да作为URLпутьиз附加信息,Выражение: http://…../xxx;SEEESIONID=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764.
Другой способ — добавить его к URL-адресу в виде строки запроса в виде http://…../xxx?SEEESIONID=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764.
为了существовать整个交互过程середина始终保持状态,就必须существовать每个客户端可能请求изпутьпозже都包含этотSEEESIONID。
85.Принцип и использование файлов cookie?
Cookieда网站保存существовать浏览器客户端из信息,Другими словами, переменные, сохраненные в машине посетителя,один般随着HTTPволосы отправленыприезжатьсервер端。существоватьCookieПосле вступления в силу и до истечения срока действия,客户每次发出страница请求когда(включатьPHPстраницаистатическийhtmlстраница),Все лиCookieодин块发送приезжатьсервер,Пока мы относимся к этому соответственно,Вы можете добиться переменной «следующие». приезжать
86.Formсерединаизgetиpostметод,существовать数据传输过程серединаточка别对应了HTTP协议серединаизGETиPOSTметод。二者主要разницанравиться下:
a. Get используется для получения данных с сервера, а Post используется для передачи данных на сервер.
b、GetВоля表单середина数据из按照variable=valueиз形式,добавить вприезжатьactionуказал наизURLпозже,И эти два соединены с помощью "?",и各个变量之间использовать”&”соединять;Postда Воля表单серединаиз数据放существоватьformиз数据体середина,По переменными值相对应из方式,Передайте URL-адрес, на который указывает действие «приехать». ты
c、Getда不安全из,Потому что в процессе передачи,Данные помещаются в запрошенный URL.,инравиться今现有из很多сервер、代理серверили Пользовательский агент отправит запросURLЗаписыватьприезжатьденьамбициидокументсередина,а потом положи его куда-нибудь,这样就可能会有одиннекоторый隐私из信息被第三方看приезжать。кроме того,用户也Можетсуществовать浏览器上直接看приезжатьнести交из数据,Некоторые внутренние сообщения системы будут отображаться пользователю вместе. Все почтовые операции невидимы для пользователей. и
d. Объем данных, передаваемых Get, невелик.,В основном это связано с ограничением длины URL-адреса; Post может передавать большой объем данных;,Таким образом, вы можете использовать Post только при загрузке файлов (конечно, есть и другая причина).,Волясуществоватьпозжеизнестиприезжать)。
e. Get ограничивает значение набора данных в форме символами ASCII, тогда как Post поддерживает весь набор символов ISO10646;
f. Get — метод формы по умолчанию.
Когда *.Post передает данные, их не обязательно отображать в URL-адресе, но метод Get должен отображаться в URL-адресе.
*.Post传输из数据量大,может достичьприезжать2M,иGetметодпотому что受приезжатьURLдлинаиз限制,Можно передать только около 1024 байт.
.Почта, как следует из названия,就да为了Воля数据传送приезжатьсервер段,Get – это получение данных из сегмента сервера. И причина, по которой Get также может передавать данные.,Просто предназначен для того, чтобы сообщить серверу,тыприезжать底需要什么样из数据.Postиз信息作为http请求из内容,иGetдасуществоватьHttp头部传输из。нести
87.PHP5середина魔术методфункция Сколько их?,请举例说明各自из用法
__sleep
__wakeup
__toString
__set_state
__construct,
__destruct
__call,
__get,
__set,
__isset,
__unset
__clone
__autoload
isset()иempty()изразница
Оба используются для тестирования переменных. Но isset() Проверьте, присвоено ли переменной значение и пустой() — это тест Является ли переменная, которой присвоено значение, пустой
。нравиться果один个变量没被赋值就引用существоватьphp里да被允许из,Но будетnoticeнести示。нравиться果один个变量被赋空值,$foo=””или$foo=0или$foo=false, затем пустой($foo) возвращает true,isset($foo) также возвращает true,То есть присвоение нулевого значения не приведет к отмене регистрации переменной. Чтобы отменить регистрацию переменной,Вы можете использовать д
unset($foo)или$foo=NULL。
89.Какое из следующих предложений не означает John добавить в users Множество?
$users[] = ‘john’;
Успешно John добавить в массиве users。
array_add($users,’john’);
функция array_add() Нет определения.
array_push($users,‘john’);
Успешно John добавить в массиве users。
$users ||= ‘john’;
Синтаксическая ошибка.
90.ниже哪один个функция Вы можете перенаправить свой браузер наприезжать另один个страница?
redir()Это не PHP функция,Вызовет ошибки выполнения.
header() Это правильный ответ, header() используется для вставки данных заголовка тома,доступный Приходите к посланнику浏览器转向приезжать另один个страница,例нравиться:
header(“Location: http://www.phpmst.com/”);
location()Это не PHP функция,Вызовет ошибки выполнения.
redirect()Это не PHP функция,Вызовет ошибки выполнения.
91.Могут ли нестатические методы PHP вызываться статически и наоборот?
其实问题да问Нетпроходитьstatic定义изметод,Можно ли его вызвать в форме «имя объекта::имя метода»? Ответ заключается в том, что будет сгенерирована строгая ошибка.,但существовать会继续执行код。
Напротив,能нетпроходить“объект名->метод名“из形式来调用static定义изметод?отвечать案да不能,Произойдёт ошибка и выполнение программы будет прервано.
92. Используйте кодировку utf-8.,нижекод输出结果да什么?strlenфункцияда计算字符串из字节数还да字符数?
$str = «здравствуйте, здравствуйте»;
Отвечать:echo strlen($str);
11 strlen() функция返回字符串издлина。
93..什么дачас间戳?час间戳能代表из最小Годделитьсяимаксимум Годделитьсяда多少?
Отвечать:(格林威治час间 1970 Год 1 луна 1 день 00:00:00)приезжать当前час间из秒数。
Типичный диапазон допустимых временных меток — среднее время по Гринвичу. 1901 Год 12 луна 13 день 20:45:54 приезжать 2038 Год 1 луна 19 день 03:14:07. (Этот диапазон соответствует
32 位有符号整数из最小值имаксимум值)。
Но в PHP 5.1 Ранее этот диапазон использовался в некоторых системах, таких как Windows) ограничено 1970 Год 1 луна 1 деньприезжать 2038 Год 1 луна 19 день。
В чем разница между MyISAM и механизмами хранения innoDB?
Отвечать:A、两者существоватьдокумент构成上有разница;
Б. InnoDB поддерживает обработку транзакций, а MyISAM — нет;
C. Разница в операции COUNT(*) без предложения WHERE: значение сохраняется в MyISAM и может быть прочитано напрямую, тогда как InnoDB требует полного сканирования таблицы;
D、Замок Разница:InnoDB支持表级Замоки行级Замок,MyISAM只支持表级Замок;
E. Индекс будет кэшировать данные, а MYISAM — нет;
F、INNODB不区точкаcharиvarchar;
G. INNODB поддерживает хеш-индекс, а MYISAM — нет;
H、InnoDBНе поддерживаетсяFULLTEXTдобрыйформаиз索引;
I、InnoDB Конкретное количество строк таблицы не сохраняется в count(*) from
table, InnoDB должен сканировать всю таблицу, чтобы вычислить количество строк, но MyISAM просто считывает количество сохраненных строк. Обратите внимание, что когда оператор count(*) содержит
Когда дело доходит до условий, операции двух таблиц одинаковы;
J、дляAUTO_INCREMENTдобрыйформаиз字段,InnoDB должен содержать индекс только с этим полем.,Но в таблице MyISAM,Можети其他字段один起建立联合索引;
K、DELETE FROM table InnoDB не будет создавать таблицу заново, а удалит ее построчно;
L、LOAD TABLE FROM
Операция MASTER не работает в InnoDB. Решение состоит в том, чтобы сначала изменить таблицу InnoDB на таблицу MyISAM, затем импортировать данные и затем изменить их на таблицу InnoDB. Однако это не применимо к таблицам, которые используют дополнительные функции InnoDB ( например, внешние ключи).
95..нравиться何ЗаписыватьphpОшибка программы в системеденьамбиции?
Отвечать:ВоляPHPизlog_errorsПросто включи его,默认да ЗаписыватьприезжатьWEBсерверизденьамбициидокумент里,比нравитьсяApacheизerror.logдокумент。
当然也Может Записывать错误деньамбицииприезжатьобозначениеиздокументсередина。
коднравиться下:
# vim /etc/php.inidisplay_errors = Off
log_errors = On
error_log = /var/log/php-error.log
Вы также можете установить error_log = syslog,使这некоторый错误信息Записыватьприезжать操作系统изденьамбиции里。
display_errors = Off //Не отображать ошибки
error_reporting Установите уровень сообщения об ошибках
96.用最少изкод写один个求3值максимум Достойныйфункция.
Отвечать: function($a,$b,$c){
return $a>$b? ($a>$c? $a : $c) : ($b>$c? $b : $c );
}
97.существоватьPHPсередина,heredoc — это специальная строка,Его конечный флаг должен?(1 балл)
отвечать:heredocСинтаксис заключается в использовании”<<<”Добавьте свои собственные парные теги,существовать标签范围內из文字视为одиннить
пример:
$str = <<<SHOW my name is Jiang Qihui! SHOW;
98. строковая функция
chr — Возвращает указанный символ через значение кода ASCII.
ord — Возвращает значение кода ASCII через указанный символ.
explode — использоватьодиннитьточка割另одиннить
implode — Преобразовать значения одномерного массива в строку
join — алиасимплодирование
htmlspecialchars — Преобразование предопределенных символов в объекты HTML (например, больше, чем меньше)
nl2br — Вставьте тег новой строки HTML перед всеми новыми строками в строке.
strip_tags — Удалить из строки HTML и PHP отметка
lcfirst — 使одиннитьиз第один个字符小写
ucfirst — Преобразовать первую букву строки в верхний регистр
ucwords — Преобразовать первую букву каждого слова в строке в верхний регистр
md5 — Зашифровать, вернуть 32-битную строку
sha1 — Зашифровать, вернуть 40-битную строку
number_format — Форматирование числа с помощью разделителей тысяч
trim — 去除字符串首尾处из空白字符(илидругие персонажи)
ltrim — Удалить пробелы (или другие символы) в начале строки.
rtrim — удалить字符串末端из空白字符(илидругие персонажи)
chop — rtrim псевдоним
str_replace — замена подстроки
str_ireplace — Версия str_replace без учета регистра
str_pad — использовать另одиннить填充字符串为обозначениедлина
str_repeat — 重复одиннить
str_shuffle — 随机打乱одиннить
str_split — Преобразовать строку в массив
strstr — Найти первое вхождение строки
strchr — Псевдоним strstr
stristr — strstr функцияиз忽略大小写版本
strrchr — Найти последнее вхождение указанного символа в строке
strpos — Найдите первое вхождение фрагмента строки
stripos — Найдите первое вхождение фрагмента строки(不区точка大小写)
strripos — 计算обозначение字符串существовать目标字符串середина最后один次出现кусочекнабор(不区точка大小写)
strrpos — 计算обозначение字符串существовать目标字符串середина最后один次出现кусочекнабор
strlen — Получить длину строки
strrev — Перевернуть строку
strtolower — Преобразовать строку в нижний регистр
strtoupper — Преобразовать строку в верхний регистр
substr — Перехватить строку
99.множествофункция
Отвечать:
array_shift — Переместить элемент в начале массива из массива
array_pop — Извлечь последний элемент массива (извлечь из стека)
array_unshift — Вставьте одну или несколько ячеек в начало массива
array_push — Переместить один или несколько элементов в конец массива (push)
array_keys — Возвращает некоторые или все ключи в массиве
array_values — Возвращает все значения в массиве
in_array — Проверьте, существует ли значение в массиве
array_key_exists — Проверяет, существует ли данный ключ или индекс в массиве
key_exists — Псевдоним array_key_exists
array_rand — Случайным образом удалить одну или несколько ячеек из массива
array_reverse — Возвращает массив с ячейками в обратном порядке
array_unique — Удалить повторяющиеся значения из массива
array_merge — Объединить один или несколько массивов
count — Подсчитайте количество ячеек в массиве или количество атрибутов в объекте.
sizeof — count псевдоним
array_sum — 计算множествосередина所有Достойныйи
array_flip — 交换множествосерединаиз键и值
array_count_values — Подсчитать количество вхождений всех значений в массив
shuffle — перетасовать массив
reset — Наведите внутренний указатель массива на первый элемент
prev — Вернуть внутренний указатель массива на один бит
current — Возвращает текущую ячейку массива
pos — current псевдоним
each — Возвращает текущую пару ключ/значение в массиве и перемещает указатель массива на один шаг вперед.
next — Переместить внутренний указатель массива на одну позицию вперед.
end — Установите внутренний указатель массива на последний элемент
sort — Сортировать массив
rsort — Сортировать массив в обратном порядке
asort — Сортировка массива и поддержание отношений индексов
arsort — Обратная сортировка массива и сохранение индексных отношений
ksort — Сортировать массив по ключу
krsort — Отсортируйте массив в обратном порядке по имени ключа.
compact — 建立один个множество,включать变量名и它们из值
range — Создать массив быстро
Режим Singleton, создайте одноэлементный объект для подключения к базе данных MySQL.
class Db {
private static $instance;
public $handle;
private function __construct($host, $username, $password, $dbname) {
$this->handle = NULL;
$this->getcon($host, $username, $password, $dbname);
}
public static function getBb() {
self::$instance = new Db();
return self::$instance;
}
private function getcon($host, $username, $password, $dbname) {
if($this->handle!=NULL){
return true;
}
$this->handle = mysqli_connect($host, $username, $password,
$dbname);
}
}
Исходный адрес:http://liuyanzhao.com/1821.html
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/174557.html Исходная ссылка: https://javaforall.cn