Подсказки и приемы по программированию на PHP

Это статья-шпаргалка с примерами по программированию на PHP. Здесь для удобства я собрал приемы и часто используемые мной функции при программировании. Статья будет пополняться по мере необходимости.

Оглавление

Прием значения чекбокс (checkbox) для последующей записи его значения в поле БД с типом boolean.

Код html:

<form name="test" method="post" action="script.php">
<input type="checkbox" name="chk" checked="checked" />
<input type="submit" value="Отправить" />
</form>

Код script.php:

if (isset($_REQUEST["chk"])) {$chk = $_REQUEST["chk"];} else {$chk = "0";}
if ($chk === 'on') {$chk = "1";}
// если чекбокс отмечен, то $chk = "1", если не отмечен, то $chk = "0"

$chk = isset($_REQUEST['chk']) ? 1 : 0; // или более короткая запись

Прием нескольких значений списка select с заданным атрибутом multiple.

Код html:

<form name="test" method="post" action="script.php">
<select size="2" multiple name="sel2[]">
<option value="1">Один</option>
<option value="2">Два</option>
<option value="3">Три</option>
</select>
</form>

Код script.php:

if (isset($_REQUEST["sel2"])) {$sel2 = $_REQUEST["sel2"];} // примем входящий параметр
else {$sel2 = 0; echo "значения не выбраны";}
if ($sel2 <> 0) {
  $cn = count($sel2); // длина массива
  for ($i = 0; $i < $cn; $i++) { // перебираем массив
	echo $sel2[$i] . '<br>'; // выводим выбранные значения
  }
}

Установить русскую кодировку для правильной работы строковых функций. Ставится в начале php-скрипта.

setlocale(LC_ALL, "ru_RU.UTF-8");

Прием входящего параметра переданного методами $_POST, $_GET или $_COOKIE

if (isset($_REQUEST['sid'])) {$sid = (int)$_REQUEST['sid'];} else {$sid = 0;}

Узнать длину массива (количество элементов)

$arr[] = 'ddd';
$arr[] = 'sss';
$cn = count($arr); // вернет 2

Проверить входит ли значение в массив

in_array($id, array(1, 7, 11, 6)); // возвращает true, если значение $id найдено среди значений массива и false, если значение не найдено

Строковые функции

$s = strlen($st); // узнать длину строки
$st = trim($st); // обрезать начальные и конечные пробелы
$st = stripslashes($st); // удалить экранирование, которое делает метод POST
$st = mb_substr($st, 0, $dl, 'UTF-8'); // обрезать строку до $dl символов с учетом кодировки UTF-8
$st = str_replace('\r\n', '
', $st); // заменить переносы строки для данных полученных из многострочного текстового поля
$st = mysqli_escape_string($mysqli, $st); // экранировать спецсимволы в строке для записи в БД с учетом соединения с БД в переменной $mysqli
$st = mb_strtolower($st); // приведет строку к нижнему регистру
$st = mb_strtoupper($st); // приведет строку к верхнему регистру

Создание и доступ к 2-мерному массиву (массиву хранящему массив)

$arr[] = array('sl1', 'txt', 'link1', 'int', 'NULL');
$arr[] = array('sl2', 'txt', 'link2', 'int', 'NULL');
$arr[] = array('sl3', 'txt', 'link3', 'int', 'NULL');
$nm1 = $arr[0][2]; // вернет link1

Подключить файл однократно перед выполнением. Файл лежит в той же папке.

require_once 'script.php';

Создать свою функцию (function)

function upd_str($a, $b) {
 global $m; // подключить глобальную переменную
 $ret = $m . $a . $b;
 return $ret;
}
$m = 7;
$st = upd_str(5, 'test'); вызвать функцию

Вывести одну строку из БД

$mysqli = mysqli_connect($host,$user,$pass,$db); // подключение к БД
if ($mysqli->connect_errno) {printf("Connect failed: %s\n", $mysqli->connect_error); exit();} // обработка ошибки подключения к БД
$id = 1; // номер искомой записи
$query = "SELECT elem, atr1 FROM tbl WHERE id = " . $id . ";"; // зададим SQL-запрос
$result = $mysqli->query($query); if (!$result) {printf("Errormessage: %s\n", $mysqli->error);} // выполним SQL-команду
$row = mysqli_fetch_assoc($result); // считаем строку из результата
$el = $row['elem']; // считаем значение столбца elem в строке
$a1 = $row['atr1']; // считаем значение столбца atr1 в строке
echo $el . ' - ' . $a1; // выведем данные
mysqli_free_result($result); // освободим результат
mysqli_close($mysqli); // закроем соединение с БД

Возвратить несколько значений из функции (return, list)

function upd_str($a, $b) {
 $x = $a + $b;
 $y = $a * $b;
 return array($x, $y) ;
}
list($xx, $yy) = upd_str(4, 3);



Все статьи-шпаргалки по программированию:

Поделиться статьей:  

Поделитесь своим мнением

Правила сообщений

Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Копирование материалов разрешено только с указанием источника и прямой индексируемой ссылкой на оригинал.
Яндекс.Метрика
© 2018 Хороший отзыв · Искусство выбирать · Лично · Разумно · Честно