- var_dump: documentation ( source)
- mb_substr: documentation ( source)
- preg_match: documentation ( source)
- print_r: documentation ( source)
- implode: documentation ( source)
- explode: documentation ( source)
<?php
$R = new T();
$R->SetRequests(is_array($_POST["requests"]) && count($_POST["requests"]) > 0 ? "µ".implode("µµ", $_POST["requests"])."µ" : array());
print_r($R->ToArray());
$Requests = $R->GetRequests();
foreach($Requests as &$Request)
{
$Request = $Request["Subject"]."~".$Request["Active"];
}
$Requests = count($Requests) > 0 ? "µ".implode("µµ", $Requests)."µ" : "";
var_dump($R);
class T
{
public $Requests = array();
public function SetRequests($Requests)
{
if(is_array($Requests))
{
$this->Requests = $Requests;
return true;
}
elseif(preg_match("/^(µ[^µ~]*~[01]µ)*$/i", $Requests))
{
$this->Requests = array();
$Requests = explode("µµ", mb_substr($Requests, 1, -1, "UTF-8"));
foreach($Requests as $Request)
{
$Req = explode("~", $Request);
$this->Requests[] = array("Subject" => strval($Req[0]), "Active" => intval($Req[1]));
}
return true;
}
return false;
}
public function GetRequests()
{
return $this->Requests;
}
public function ToArray()
{
return array("Requests" => $this->Requests);
}
}