function stripWhitespaces(string $string): string {
$old_string = $string;
$string = strip_tags($string);
$string = preg_replace('/([^\pL\pN\pP\pS\pZ])|([\xC2\xA0])/u', ' ', $string);
$string = str_replace(' ',' ', $string);
$string = trim($string);
if ($string === $old_string) {
return $string;
} else {
return stripWhitespaces($string);
}
}
$strings = ['one', 'two', 'three', 'four', 'five']; //массив строк
$p_array = []; // массив выбранных строк
for ($i = 0; $i < 2; $i++) {
//Элементы не будут повторятся. Если нужно, чтобы элементы повторялись - нужно юзать array_rand
$p_array[] = pop(array_shuffle(&$strings)); //собственно выбираем случайный элемент
}
$peremennaya = implode("\n", $p_array); //имплодим через нужный разделитель
$uid = $this->User->getId();
$oid = $this->Organisation->getId();
class Invoice
{
protected $User;
protected $Organisation;
public function __construct(User $User = null, Organisation $Organisation = null)
{
if (!is_null($User)) {
$this->setUser($User);
}
if (!is_null($Organisation)) {
$this->setOrganisation($Organisation);
}
}
public function setUser(User $User)
{
$this->User = $User;
}
public function setOrganisation(Organisation $Organisation)
{
$this->Organisation = $Organisation;
}
}
class MyClass
{
//Публичный метод для получения данных
public static function getSomeData()
{
$result = self::someAction();
return $result;
}
//Скрытый служебный метод
protected static function someAction($data = null)
{
//Тут что-то делаем
return $result;
}
}
$result = MyClass::getSomeData(); //Так получаем данные. Без фанатизма с конструктором.
SELECT * FROM products WHERE uts < :uts
SELECT p.* FROM products as p
LEFT JOIN rel_table as rt
ON rt.id = p.id
WHERE rt.uts IS NOT NULL AND rt.uts < :uts
$Draw .= '<div class="allusers-wrapper" style="padding-top:10px;">';//стили нужно запихать в css
$Query = mysqli_query($CONNECT, 'SELECT `login`, `fname`, `lname`, `oname` FROM `users` ORDER BY `id` DESC LIMIT 15');
while ($Row = mysqli_fetch_assoc($Query)) $Draw .= '<div class="allusers"><br>Логин: '.$Row[login].' (фамилия: '.$Row[lname].' имя: '.$Row[fname].')</div>';
$Draw .= '</div>';
$mysqli = new \mysqli($sr, $lg, $ps, $tb);
$arr = json_decode($json, true);
foreach ($arr['result'] as $k => $in_arr) {
echo "Имя внутреннего элемента: {$k}<br>";
echo "Перебор вложенных элементов:<br>";
foreach ($in_arr as $in_k => $in_v) {
echo "{$in_k} => {$in_v} ";
}
echo "<br>";
echo "Только определенный элемент внутреннего массива:<br>";
echo $in_arr['pair'], "<br>";
}
$arr = json_decode($json, true);
echo "<pre>";
var_dump(array_keys($arr['result']));
echo "</pre>";
$array = array(
"foo" => "bar",
"bar" => "foo",
);
$file_name = 'path/to/file/file_name';
file_put_contents($file_name, json_encode($array)); //сохраняем в файл
$array = json_decode(file_get_contents($file_name), true); // читаем из файла