আমি এই ফাংশনটি কেবল পাঠ্য হিসাবে একটি অ্যারের আউটপুট করতে লিখেছি:
আউটপুট সুন্দরভাবে বিন্যাসিত অ্যারে করা উচিত।
গুরুত্বপূর্ণ তথ্য:
ব্যবহারকারীর ইনপুট থেকে সাবধান থাকুন।
এই স্ক্রিপ্টটি অভ্যন্তরীণ ব্যবহারের জন্য তৈরি করা হয়েছিল।
যদি আপনি জনসাধারণের ব্যবহারের জন্য এটি ব্যবহার করতে চান তবে আপনাকে স্ক্রিপ্ট ইনজেকশন রোধ করতে কিছু অতিরিক্ত ডেটা বৈধতা যুক্ত করতে হবে।
এটি বোকা প্রমাণ নয় এবং কেবলমাত্র বিশ্বস্ত ডেটা ব্যবহার করা উচিত।
নিম্নলিখিত ফাংশনটি এমন কিছু আউটপুট দেবে:
$var = array(
'primarykey' => array(
'test' => array(
'var' => array(
1 => 99,
2 => 500,
),
),
'abc' => 'd',
),
);
এখানে ফাংশনটি (নোট: ফাংশনটি বর্তমানে ওওপ বাস্তবায়নের জন্য ফর্ম্যাট করা আছে))
public function outArray($array, $lvl=0){
$sub = $lvl+1;
$return = "";
if($lvl==null){
$return = "\t\$var = array(\n";
}
foreach($array as $key => $mixed){
$key = trim($key);
if(!is_array($mixed)){
$mixed = trim($mixed);
}
if(empty($key) && empty($mixed)){continue;}
if(!is_numeric($key) && !empty($key)){
if($key == "[]"){
$key = null;
} else {
$key = "'".addslashes($key)."'";
}
}
if($mixed === null){
$mixed = 'null';
} elseif($mixed === false){
$mixed = 'false';
} elseif($mixed === true){
$mixed = 'true';
} elseif($mixed === ""){
$mixed = "''";
}
//CONVERT STRINGS 'true', 'false' and 'null' TO true, false and null
//uncomment if needed
//elseif(!is_numeric($mixed) && !is_array($mixed) && !empty($mixed)){
// if($mixed != 'false' && $mixed != 'true' && $mixed != 'null'){
// $mixed = "'".addslashes($mixed)."'";
// }
//}
if(is_array($mixed)){
if($key !== null){
$return .= "\t".str_repeat("\t", $sub)."$key => array(\n";
$return .= $this->outArray($mixed, $sub);
$return .= "\t".str_repeat("\t", $sub)."),\n";
} else {
$return .= "\t".str_repeat("\t", $sub)."array(\n";
$return .= $this->outArray($mixed, $sub);
$return .= "\t".str_repeat("\t", $sub)."),\n";
}
} else {
if($key !== null){
$return .= "\t".str_repeat("\t", $sub)."$key => $mixed,\n";
} else {
$return .= "\t".str_repeat("\t", $sub).$mixed.",\n";
}
}
}
if($lvl==null){
$return .= "\t);\n";
}
return $return;
}
পর্যায়ক্রমে আপনি এই স্ক্রিপ্টটি ব্যবহার করতে পারেন আমি কিছুক্ষণ আগেও লিখেছিলাম:
এটির একটি অ্যারের অংশগুলি অনুলিপি করে পেস্ট করা ভাল।
(সিরিয়ালযুক্ত আউটপুট দিয়ে এটি করা প্রায় অসম্ভব)
সবচেয়ে পরিষ্কার ফাংশন নয় তবে এটি কাজটি সম্পন্ন করে।
এই এক নিম্নলিখিত হিসাবে আউটপুট হবে:
$array['key']['key2'] = 'value';
$array['key']['key3'] = 'value2';
$array['x'] = 7;
$array['y']['z'] = 'abc';
ব্যবহারকারী ইনপুট জন্য যত্ন নিন। কোডটি এখানে।
public static function prArray($array, $path=false, $top=true) {
$data = "";
$delimiter = "~~|~~";
$p = null;
if(is_array($array)){
foreach($array as $key => $a){
if(!is_array($a) || empty($a)){
if(is_array($a)){
$data .= $path."['{$key}'] = array();".$delimiter;
} else {
$data .= $path."['{$key}'] = \"".htmlentities(addslashes($a))."\";".$delimiter;
}
} else {
$data .= self::prArray($a, $path."['{$key}']", false);
}
}
}
if($top){
$return = "";
foreach(explode($delimiter, $data) as $value){
if(!empty($value)){
$return .= '$array'.$value."<br>";
}
};
echo $return;
}
return $data;
}