私は PHP をもっと使いこなそうとしているので、Michael Peacock の PHP 5 Social Networking という本を手に取りました。この本は興味深いように見えましたが、コードの詳細には触れませんでした。私が理解しようとしている機能は、
public function getURLData()
{
$urldata = ( isset( $_GET['page'] ) ) ? $_GET['page'] : '' ;
$this->urlPath = $urldata;
if( $urldata == '' )
{
$this->urlBits[] = '';
$this->urlPath = '';
}
else
{
$data = explode( '/', $urldata );
while ( !empty( $data ) && strlen( reset( $data ) ) === 0 )
{
//NOTES: php array_shift — Shift an element off the beginning of array
array_shift( $data );
}
while ( !empty( $data ) && strlen( end( $data ) ) === 0)
{
array_pop($data);
}
$this->urlBits = $this->array_trim( $data );
}
}
これはより大きなクラスの一部であり、$_GET['page'] は次のようなものです: relationship/mutual/3. 私の主な質問は、else セクションで何が起こっているかです。空の配列インデックスを削除しているとは思いますが、それにも疑問があります。
どんな助けでも大歓迎です。
編集:クラスの一部でもあるarray_trim関数を追加
private function array_trim( $array )
{
while ( ! empty( $array ) && strlen( reset( $array ) ) === 0)
{
array_shift( $array );
}
while ( !empty( $array ) && strlen( end( $array ) ) === 0)
{
array_pop( $array );
}
return $array;
}