PHPで文字列を一文字づつ分解して表示する必要があったので関数を作ってみました。PHP5では文字列を擬似的に配列として扱うことができるのですが、PHP4では文字列を擬似的な配列として扱うことができないようです。
もう、PHP4はサポート外ですが必要になる可能性もあるのでここに記しておきます。
<?php
$str = "This is a test.";
//PHP5の場合は文字列を配列として扱うことができる
function split_5($str){
$array = array();
//count($str)だと1が帰らされるので、strlen($str)を使用する
for($i=0;$i<strlen($str);$i++){
$c = $str[$i];
array_push($array,$c);
}
return $array;
}
//PHP4の場合の場合は文字列を配列として扱うことができないので一文字づつsubstrで分解して使用する
function split_4($str){
$array = array();
for($i=0;$i<strlen($str);$i++){
$c = substr($str,$i,1);
array_push($array,$c );
}
return $array;
}
var_dump(split_5($str));
var_dump(split_4($str));
//結果 split_5 または split_4
//array(15) {
// [0]=> string(1) "T"
// [1]=> string(1) "h"
// [2]=> string(1) "i"
// [3]=> string(1) "s"
// [4]=> string(1) " "
// [5]=> string(1) "i"
// [6]=> string(1) "s"
// [7]=> string(1) " "
// [8]=> string(1) "a"
// [9]=> string(1) " "
// [10]=> string(1) "t"
// [11]=> string(1) "e"
// [12]=> string(1) "s"
// [13]=> string(1) "t"
// [14]=> string(1) "."
// }
?>


コメントする