- var_dump: documentation ( source)
- implode: documentation ( source)
<?php
/* what I want to achieve*/
$rules= [
'title' => 'required|min:2|max:5',
];
///////////////////////////////////////////
$types = ['min' => 2, 'max' => 5, 'required'=> 1];
function noValue(array $types):? string{
foreach($types as $key=>$value) {
if($key === 'required' ||$value > 0){
return 'required';
}
}
return null;
}
function ruleTypes(array $types){
$arr = [];
foreach($types as $key => $value) {
$arr[] = noValue($types) ? $key . ':' . $value : 'hello';
}
return implode('|', $arr);
}
$arrayOfRules = [
'title' => ruleTypes($types),
];
var_dump($arrayOfRules);