Hướng dẫn dùng recordset count trong PHP

Hàm count[] trong PHP

Nội Dung

  • 1. Hàm count[] trong PHP
  • 2. Cú pháp của hàm count[] trong PHP
  • 3. Ví dụ về hàm count[] trong PHP

Hàm count[] trong PHP được sử dụng để đếm phần tử trong mảng. Không chỉ là với mảng mà hàm count[] cũng có thể đếm được số lượng thuộc tính trong một đối tượng hay là lấy ra giá trị nào đó trong một đối tượng có thể đếm được. Hàm count[] sẽ đếm và trả về số nguyên là số phần tử trong mảng khi được sử dụng với một mảng. Hàm có thể trả về 0 cho biến đã được đặt thành một mảng trống. Nếu sử dụng với một đối tượng Countable thì hàm sẽ trả về giá trị trả về của phương thức. Ngoài ra, đối với biến không được đặt, hàm cũng trả về 0. Thậm chí nếu đối tượng được truyền vào không phải là một mảng, đồng thời cũng không phải một đối tượng của Countable thì sẽ trả về 1. Hàm count[] được giới thiệu và sử dụng từ phiên bản PHP 4.0

2. Cú pháp của hàm count[] trong PHP

Ta có cú pháp của hàm count[] trong PHP là :

count[$array, $mode]

Trong đó :

  • $array : là mảng hay đối tượng truyền vào để đếm. Tham số này là bắt buộc trong hàm
  • $mode : là tham số tùy chọn trong hàm. Nó được sử dụng để đặt chế độ đếm của hàm count[] . Mặc định là hằng số COUNT_NORMAL [có giá trị là 0]. Nếu $mode là hằng số COUNT_RECURSIVE [có giá trị là 1] thì hàm count[] có thể đếm tất cả các phần tử trong mảng một cách đệ quy phù hợp với mảng nhiều chiều.

Như mình đã nói thì hàm count[] sẽ trả về số phần tử của mảng được đếm, nếu đối tượng được truyền vào không phải là một mảng, đồng thời cũng không phải một đối tượng của Countable thì sẽ trả về 1. Trường hợp ngược lại khi đối tượng là NULL sẽ trả về 0.

Lưu ý

Hàm count[] có thể phát hiện đệ quy để tránh một vòng lặp vô hạn, nhưng sẽ ném ra một E_WARNING mỗi khi nó xảy ra [trong trường hợp mảng chứa chính nó nhiều lần] và trả về một số lượng cao hơn dự kiến.

Ví dụ : đếm và trả về số lượng phần tử trong một mảng

Kết quả

5

3. Ví dụ về hàm count[] trong PHP

Ví dụ 1: đếm đệ quy một mảng

Kết quả

Đếm bình thường: 3
Đếm theo cách đệ quy: 8

Ta cũng có thể thay 1 bằng COUNT_RECURSIVE để đếm một cách đệ quy

Ví dụ 2: sử dụng hàm count[] với Countable object

Kết quả

100

Trong các trường hợp ta cần triển khai một vòng lặp, có thể sử dụng count[] thì hãy sử dụng giải pháp sau, để tối ưu code hơn.

//Hiệu năng kém
for[$i=0;$i

The browser output of the code above will be:

Hello world.

The HTML output of the code above will be [View Source]:

Hello
world.

Try it Yourself »

Definition and Usage

The quoted_printable_decode[] function decodes a quoted-printable string to an 8-bit ASCII string.

Tip: Data encoded in quoted-printable are unlikely to be modified by mail transport. A text which is entirely US-ASCII may be encoded in quoted-printable to ensure the integrity of the data should the message pass through a character-translating, or line-wrapping gateway.

Syntax

quoted_printable_decode[string]

Parameter Values

ParameterDescription
string Required. Specifies the quoted-printable string to be decoded

Technical Details

Return Value:PHP Version:
Returns the 8-bit ASCII string
4+

❮ PHP String Reference


[PHP 4, PHP 5, PHP 7, PHP 8]

addslashesQuote string with slashes

Description

addslashes[string $string]: string

  • single quote [']
  • double quote ["]
  • backslash [\]
  • NUL [the NUL byte]

A use case of addslashes[] is escaping the aforementioned characters in a string that is to be evaluated by PHP:


if you need to quote SQL strings it's


Notice that there are no quotes around the ?s. It handles that for you automatically. It's guaranteed to be safe for your database. [Just ' on oracle, \ and ' on PostgreSQL, but you don't even have to think about it.]

Plus, if the database supports prepared statements [the soon-to-be-released PostgreSQL 7.3, Oracle, etc], several executes on the same prepare can be faster, since it can reuse the same query plan. If it doesn't [MySQL, etc], this way falls back to quoting code that's specifically written for your database, avoiding the problem I mentioned above.

[Pardon my syntax if it's off. I'm not really a PHP programmer; this is something I know from similar things in Java, Perl, PL/SQL, Python, Visual Basic, etc.]

luciano at vittoretti dot com dot br

16 years ago

Note, this function wont work with mssql or access queries.
Use the function above [work with arrays too].

function addslashes_mssql[$str]{
    if [is_array[$str]] {
        foreach[$str AS $id => $value] {
            $str[$id] = addslashes_mssql[$value];
        }
    } else {
        $str = str_replace["'", "''", $str];   
    }

        return $str;
}

function stripslashes_mssql[$str]{
    if [is_array[$str]] {
        foreach[$str AS $id => $value] {
            $str[$id] = stripslashes_mssql[$value];
        }
    } else {
        $str = str_replace["''", "'", $str];   
    }

    return $str;
}

Lars

10 years ago

Even for simple json string backslash encodings, do not use this function. Some tests may work fine, but in json the single quote ['] must not be escaped.

joechrz at gmail dot com

16 years ago

Here's an example of a function that prevents double-quoting, I'm surprised noone has put something like this up yet... [also works on arrays]

DarkHunterj

13 years ago

Based on:
Danijel Pticar
05-Aug-2009 05:22
I recommend this extended version, to replace addslashes altogether[works for both strings and arrays]:

baburaj dot ambalam at gmail dot com

2 years ago

escape '$'  using backslash '\$'

Chủ Đề