Changeset 18768


Ignore:
Timestamp:
2010/08/02 15:22:01 (11 years ago)
Author:
nanasess
bzr:base-revision:
ohkouchi@loop-az.jp-20100802014347-0nmgk10iml8gzru5
bzr:committer:
Kentaro Ohkouchi <ohkouchi@loop-az.jp>
bzr:file-ids:

data/class/util/SC_Utils.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Futil%2FSC_Utils.php
test/class/util/SC_Utils_Test.php sc_utils_test.php-20100802013957-750m2yralg9cowkd-1
bzr:mapping-version:
v4
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
ohkouchi@loop-az.jp-20100802062158-svghla63ldgxf2om
bzr:revno:
2251
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:timestamp:
2010-08-02 15:21:58.052999973 +0900
bzr:user-agent:
bzr2.1.2+bzr-svn1.0.2
svn:original-date:
2010-08-02T06:21:58.053000Z
Message:

SC_Utils::isBlank() を追加(#791)

Location:
branches/version-2_5-dev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/util/SC_Utils.php

    r18767 r18768  
    24012401    } 
    24022402 
     2403    /** 
     2404     * 変数が空白かどうかをチェックする. 
     2405     * 
     2406     * 引数 $val が空白かどうかをチェックする. 空白の場合は true. 
     2407     * 以下の文字は空白と判断する. 
     2408     * - " " (ASCII 32 (0x20)), 通常の空白 
     2409     * - "\t" (ASCII 9 (0x09)), タブ 
     2410     * - "\n" (ASCII 10 (0x0A)), リターン 
     2411     * - "\r" (ASCII 13 (0x0D)), 改行 
     2412     * - "\0" (ASCII 0 (0x00)), NULバイト 
     2413     * - "\x0B" (ASCII 11 (0x0B)), 垂直タブ 
     2414     * 
     2415     * 引数 $val が配列の場合は, 空の配列の場合 true を返す. 
     2416     * 
     2417     * 引数 $greedy が true の場合は, 全角スペース, ネストした空の配列も 
     2418     * 空白と判断する. 
     2419     * 
     2420     * @param mixed $val チェック対象の変数 
     2421     * @param boolean $greedy "貧欲"にチェックを行う場合 true 
     2422     * @return boolean $val が空白と判断された場合 true 
     2423     */ 
     2424    function isBlank($val, $greedy = true) { 
     2425        if (is_array($val)) { 
     2426            if ($greedy) { 
     2427                foreach ($val as $in) { 
     2428                    if (!SC_Utils::isBlank($in, $greedy)) { 
     2429                        return false; 
     2430                    } 
     2431                } 
     2432            } else { 
     2433                return empty($val); 
     2434            } 
     2435        } 
     2436 
     2437        if ($greedy) { 
     2438            $val = preg_replace("/ /", "", $val); 
     2439        } 
     2440 
     2441        $val = trim($val); 
     2442        if (strlen($val) > 0) { 
     2443            return false; 
     2444        } 
     2445        return true; 
     2446    } 
    24032447} 
    24042448?> 
  • branches/version-2_5-dev/test/class/util/SC_Utils_Test.php

    r18767 r18768  
    7878        $this->assertEquals($expected, $actual); 
    7979    } 
     80 
     81    function testIsBlank() { 
     82        $val = ""; 
     83        $this->assertTrue(SC_Utils::isBlank($val)); 
     84 
     85        $valIsNotBlank = "\x00..\x1F  a \n\t"; 
     86        $this->assertTrue(SC_Utils::isBlank($val)); 
     87 
     88        $wideSpace = " "; 
     89        $this->assertTrue(SC_Utils::isBlank($wideSpace)); 
     90        // greedy is false 
     91        $this->assertFalse(SC_Utils::isBlank($wideSpace, false)); 
     92 
     93        $array = array(); 
     94        $this->assertTrue(SC_Utils::isBlank($array)); 
     95 
     96        $nestsArray = array(array(array())); 
     97        $this->assertTrue(SC_Utils::isBlank($nestsArray)); 
     98        // greedy is false 
     99        $this->assertFalse(SC_Utils::isBlank($nestsArray, false)); 
     100 
     101        $nestsArrayIsNotBlank = array(array(array("1"))); 
     102        $this->assertFalse(SC_Utils::isBlank($nestsArrayIsNotBlank)); 
     103        // greedy is false 
     104        $this->assertFalse(SC_Utils::isBlank($nestsArrayIsNotBlank, false)); 
     105 
     106        $wideSpaceAndBlank = array(array(" \n ")); 
     107        $this->assertTrue(SC_Utils::isBlank($wideSpaceAndBlank)); 
     108        // greedy is false 
     109        $this->assertFalse(SC_Utils::isBlank($wideSpaceAndBlank, false)); 
     110 
     111        $wideSpaceIsNotBlank = array(array(" \na ")); 
     112        $this->assertFalse(SC_Utils::isBlank($wideSpaceIsNotBlank)); 
     113        // greedy is false 
     114        $this->assertFalse(SC_Utils::isBlank($wideSpaceIsNotBlank, false)); 
     115 
     116        $zero = 0; 
     117        $this->assertFalse(SC_Utils::isBlank($zero)); 
     118        $this->assertFalse(SC_Utils::isBlank($zero, false)); 
     119    } 
    80120} 
    81121?> 
Note: See TracChangeset for help on using the changeset viewer.