Subscribe to RSS Feed ログイン

オーガニック・ウェルス

Wednesday
2018年2月21日

PHP文字列型の不思議

<?php

    $str = ”abcあいう”;

    echo ”strlen=”.strlen($str).”\r\n”;

    echo ”mb_strlen=”.mb_strlen($str).”\r\n”;

    for($i=0;$i < strlen($str);$i++) {

        printf(“%d=%d(%s)\r\n”, $i, (int)$str[$i], $str[$i]);

    }

?>

上記のPHPを実行するとこうなりました。

strlen=12
mb_strlen=6
0=0(a)
1=0(b)
2=0(c)
3=0(・
4=0(・
5=0(・
6=0(・
7=0(・
8=0(・
9=0(・
10=0(・
11=0(・

文字の配列の配列がPHPでは文字型に成っているのか、中身は取り出せずじまいでした。

たんなる自分の実験ですが

コメント(0)続きを読む

CentOS5.5にPHP5.3.8をソースからインストール

# wget http://jp2.php.net/get/php-5.3.8.tar.bz2/from/this/mirror

# tar xvf php-5.3.8.tar.bz2

# cd php-5.3.8

# yum install -y libxml2
# yum install -y libxml2-devel
# yum install -y libpng-devel
# yum install -y libmcrypt
# yum install -y libmcrypt-devel
# yum install -y libtool-ltdl
# yum install -y libtool-ltdl-devel
# yum install -y httpd-devel

# ./configure --enable-mbstring \
 --enable-mbregex \
 --enable-zend-multibyte \
 --with-zlib-dir=/usr/lib \
 --with-apxs2=/usr/sbin/apxs \
 --with-zlib \
 --enable-zip \
 --enable-ftp \
 --enable-pcntl \
 --enable-soap \
 --with-mcrypt \
 --with-gd \
 --enable-pdo \
 --with-pear

# cp php.ini-development /usr/local/php/lib/php.ini

/etc/profileのパスに以下を追加
PATH=$PATH:/usr/local/php/bin/

# source /etc/profile

コメント(0)続きを読む

PHPのPack・UnPackで文字と数値の変換

<?php
$str = "字";
$byte_array = unpack("C*", $str);
echo "'$str'";
echo "\n↓\n";
var_dump($byte_array);

echo "packed => '".pack("C*", 229, 173, 151)."'\n";
?>

実行結果

'字'
↓
array(3) {
 [1]=>
 int(229)
 [2]=>
 int(173)
 [3]=>
 int(151)
}
packed => '字'

リファレンスを見てみたのですが、packに数値の配列を渡す方法が見つからないので、バイト数によって分岐し異なる引数のpackを呼び出す必要が有りそうです。

コメント(0)続きを読む

Ubuntu11.04にRubiniusをインストールした


$ sudo apt-get install ruby
$ ruby -v

ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]


$ sudo apt-get install rubygems
$ gem -v

1.3.7


$ sudo gem install rake
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install libssl-dev
$ wget http://asset.rubini.us/rubinius-1.2.4-20110705.tar.gz
$ tar zxvf rubinius-1.2.4-20110705.tar.gz
$ cd rubinius-1.2.4
$ ./configure --prefix=/usr/local/bin
$ sudo rake install

Successfully installed Rubinius 1.2.4

Add '/usr/local/bin/rubinius/1.2/bin' to your PATH. Available commands are:

rbx, ruby, rake, gem, irb, rdoc, ri

1. Run Ruby files with 'rbx path/to/file.rb'
2. Start IRB by running 'rbx' with no arguments

** Execute install

/etc/profileのパスに以下を追加
PATH=$PATH:/usr/local/bin/rubinius/1.2/bin

$ source /etc/profile

$ rbx -v

rubinius 1.2.4 (1.8.7 release 2011-07-05 JI) [i686-pc-linux-gnu]

 

コメント(0)続きを読む