Можно ли как-то перебирать массив так чтобы в переборе участвовали только записи с заполненными значениями?
Если да то как это сделать?
$arr = [
"0,0" => [],
"1,0" => ["test1"],
"2,0" => [],
"3,0" => ["test2"],
"4,0" => [0],
"5,0" => [],
"6.0" => "0",
"7.0" => 0
];
$new_arr = array_filter($arr, function($element) {return !empty($element);});
//или
//$new_arr = array_filter($arr);
print_r($new_arr);
/*
Array
(
[1,0] => Array
(
[0] => test1
)
[3,0] => Array
(
[0] => test2
)
[4,0] => Array
(
[0] => 0
)
)
*/
function getVideoID ($url)
{
preg_match("%^(?:https?://)?(?:www\.|m\.)?(?:youtu\.be/|youtube(?:-nocookie)?\.com(?:/watch\?v=|/watch/\?v=|/embed/|/v/))([\w-]{10}[048AEIMQUYcgkosw]{1})($|\S+).*$%x", $url, $matches);
return $matches[1] ?? "";
}
echo getVideoID("https://youtu.be/DBXH9jJRaDk?t=11");
//DBXH9jJRaDk
echo getVideoID("https://www.youtube.com/embed/DBXH9jJRaDk");
//DBXH9jJRaDk
echo getVideoID("https://www.youtube.com/watch?v=DBXH9jJRaDk&t=30&feature=emb_logo");
//DBXH9jJRaDk
echo getVideoID("https://www.youtube.com/watch?v=DBXH9jJRaDk");
//DBXH9jJRaDk
echo getVideoID("https://m.youtube.com/watch?v=DBXH9jJRaDk&t=30");
//DBXH9jJRaDk
var data = [];
formData.forEach(function(value, key) {
switch (key) {
case 'Post[name]':
case 'Post[category_id]': {
data.push({"name": key, "value": value});
} break;
}
});
console.log(data);
/*
[Object {
name: "Post[name]", value: "bla bla"
}, Object {
name: "Post[category_id]", value: "12"
}]
*/
var data = $('селектор_формы').find('input[name="Post[name]"], input[name="Post[category_id]"]').serializeArray();
<?php echo '<button class="button">', pll_e('menu_btn'), '</button>'; ?>
contentType: 'application/json; charset=utf-8;'
dataType: 'json'
"Error updating record: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '01','Anna','230','2'),('02','Anna','310','1'),('03','Anna','360',' at line 2
$sql = "INSERT INTO orders2020 (surname, name, fathername, cart)
VALUES ('$surname','$name','$fathername','$values')";
$values
в ячейку таблицы, значение которого содержит специальные символы (которые используются в выражениях SQL) , то их необходимо экранировать //для mysql
$values = mysql_real_escape_string($values);
//для mysqli (процедурный стиль)
$values = mysqli_real_escape_string($link, $values);
//для mysqli (объектно-ориентированный стиль)
$values = $mysqli->real_escape_string($values);
// потом сам запрос
$sql = "INSERT INTO `orders2020` (`surname`, `name`, `fathername`, `cart`)
VALUES ('{$surname}', '{$name}', '{$fathername}', '{$values}')";
function mbCutString($str, $length, $encoding = 'UTF-8')
{
$arr = array();
while(mb_strlen($str, $encoding) > 0) {
if (mb_strlen($str, $encoding) <= $length) {
array_push($arr, trim($str));
return $arr;
}
$tmp = mb_substr($str, 0, $length, $encoding);
$res = trim(mb_substr($tmp, 0, mb_strripos($tmp, ' ', 0, $encoding), $encoding));
$str = mb_strlen($res, $encoding) ? trim(str_ireplace($res, "", $str)) : false;
if ($res) array_push($arr, $res);
}
return $arr;
}