$a1 =json_decode('["Яблоко", "Апельсин", "Банан", "Груша"]');
$a2 = json_decode('["Яблоко", "Мандарин", "Банан", "Груша", "Лимон"]');
$added = array_diff($a2,$a1);// Добавлено
$remove = array_diff($a1,$a2);// Убрано
{"Яблоко", "Апельсин", "Банан", "Груша"}, ничего общего с json не имеет
<?PHP
$uploadDir = $_SERVER['DOCUMENT_ROOT'] . '/upload/awb/' . $awb . '/';
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(file_exists($uploadDir."/".$_POST["filename"])){
echo file_get_contents($uploadDir."/".$_POST["filename"]);
die;
}
}
?>
<script
src="http://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script>
$(function(){
$("ul").on("click","li",function(e){
$.ajax({
url: "<?=$_SERVER['PHP_SELF']?>",
type: 'POST',
data: {
filename:$(this).html()
}
}).done(function(data){
$("#out").html("<pre>"+data+"</pre>");
})
});
})
</script>
<ul>
<?PHP
$fileArray = array_diff(scandir($uploadDir, 1), array("inputScanning.json", "..", "."));
foreach ($fileArray as $filename)
echo "<li>$filename</li>";
?>
</ul>
<div id="out">
</div>
$im = imagecreatefrompng('example.png');
$arr = [
['x' => 0, 'y' => 0, 'width' => 960, 'height' => 540],
['x' => 960, 'y' => 0, 'width' => 960, 'height' => 540],
['x' => 0, 'y' => 540, 'width' => 960, 'height' => 540],
['x' => 960, 'y' => 540, 'width' => 960, 'height' => 540],
];
foreach($arr as $k=>$v){
$im2 = imagecrop($im, $v);
if ($im2 !== FALSE) {
imagepng($im2, "example-cropped$k.png");
imagedestroy($im2);
}
}
imagedestroy($im);
echo hasRec($arr) ? "тут рекурсия":"тут нет рекурсий";
function hasRec($arr){
ob_start();
var_dump($arr);
return preg_match("/^\s*\*RECURSION\*\s*$/umi",ob_get_clean());
}
$str = "Відділення №1: вул. Пирогівський шлях, 135";
if(preg_match("/№(\d+)/um",$str,$match))
echo $match[1];
set_time_limit ( сек);
while(true){
if ($fh = fopen($file, 'r+')) {
echo "File opened successful\n";
if (flock($fh, LOCK_EX)) {
echo "Successfully locked filed with exclusive lock\n";
flock($fh, LOCK_UN);
} else {
fclose($fh);
continue;
}
fclose($fh);
break;
}
}
public function findCorrectClosestPrice($price, $products){
do{
$finded = false;
foreach ($products as $product){
if (round($product->price,1) == round($price,1)){
$price += 0.1;
$finded = true;
break;
}
}
}while($finded);
return $price;
}
public function findCorrectClosestPrice($price, $products){
foreach ($products as $product)
if (round($product->price,1) == round($price,1))
return $this->findCorrectClosestPrice($price + 0.1,$products);
return $price;
}
<?PHP
$tmp = array_chunk($service_list,3);
foreach($tmp as $k => $v){
echo '<ul class="service_list">';
foreach($v as $row => $list_items)
echo "<li>$list_items[item] </li>";
echo '</ul>';
}
?>
function encrypt($text, $n) {
$str1 = $str2 = "";
for($i = 0; $i < strlen($text); $i++)
if($i%2 == 0)
$str2 .= $text[$i];
else
$str1 .= $text[$i];
if($n > 0 )
$text = encrypt($str1.$str2, $n - 1);
return $text;
}
echo encrypt('This is a test!', 2);
Geolocation.getCurrentPosition()
. Запрашивать их например каждую секунду, далее я не помню, но нужно поискать есть формула определения расстояния между двумя точками. Ну и в конечном итоге , пройденное_растояние += расстояние_между_двумя_точками(предыдущие_координаты, текущие_координаты);static public double GPSTracker(Point pnt1, Point pnt2)
{
//pnt1, pnt2 - точки между которыми вычисляются расстояния
// rad - радиус сферы (Земли), num - количество знаков после запятой
//Отладка по входным данным (77.1539, 120.398) (77.1804,129.55) return dist 225883 angle 84.7925159033
//x - широта,y - долгота
int rad = 6372795;
double lat1, lat2, long1, long2;
//получение координат точек в радианах
lat1 = pnt1.X * Math.PI / 180;
long1 = pnt1.Y * Math.PI / 180;
lat2 = pnt2.X * Math.PI / 180;
long2 = pnt2.Y * Math.PI / 180;
//косинусы и синусы широт и разниц долгот
double cl1 = Math.Cos(lat1);
double cl2 = Math.Cos(lat2);
double sl1 = Math.Sin(lat1);
double sl2 = Math.Sin(lat2);
double delta = long2 - long1;
double cdelta = Math.Cos(delta);
double sdelta = Math.Sin(delta);
//вычисления длины большого круга
double y = Math.Sqrt(Math.Pow(cl2 * sdelta, 2) + Math.Pow(cl1 * sl2 - sl1 * cl2 * cdelta, 2));
double x = sl1 * sl2 + cl1 * cl2 * cdelta;
double ad = Math.Atan2(y, x);
double dist = ad * rad;
//вычисление начального азимута
x = (cl1 * sl2) - (sl1 * cl2 * cdelta);
y = sdelta * cl2;
double z = (Math.Atan(-y / x)) * 180 / Math.PI;
if (x < 0)
z = z + 180;
double z2 = (z + 180) % 360 - 180;
z2 = -z2 * Math.PI / 180;
double anglerad2 = z2 - ((2 * Math.PI) * Math.Floor((z2 / (2 * Math.PI))));
double angledeg = (anglerad2 * 180) / Math.PI;
//возврат значений длины большого круга и начального азимута
//return dist, angledeg
return dist;//метров
}