全部产品
Search
文档中心

CDN:Fungsi logika

更新时间:Jun 27, 2025

Topik ini menjelaskan sintaks, fitur, parameter, serta nilai kembalian dari fungsi logika. Topik ini juga menyertakan contoh penggunaan fungsi-fungsi tersebut.

and

Tabel berikut menjabarkan detail fungsi ini.

Item

Deskripsi

Sintaks

and(arg, ...)

Deskripsi

  • Menjalankan operator logika AND.

  • Evaluasi singkat didukung. Ketika sebuah nilai dievaluasi menjadi salah, nilai-nilai yang mengikuti nilai tersebut tidak akan dievaluasi.

Parameter

Nilai yang ingin Anda periksa. Anda dapat menentukan satu atau lebih nilai. Tipe data: semua tipe.

Nilai Kembalian

Mengembalikan true jika semua nilai dievaluasi menjadi benar dan mengembalikan false jika sebuah nilai dievaluasi menjadi salah.

Contoh

if and($arg_mode, eq($arg_mode, 'set_header')) {
   add_rsp_header('USER-DEFINED-1','path1')
}
  • Jika permintaan mencakup parameter mode dan nilai dari parameter mode adalah set_header, atur header respons USER-DEFINED-1.

  • Jika permintaan tidak mencakup parameter mode, evaluasi singkat berlaku dan operator perbandingan eq tidak dijalankan. Header respons USER-DEFINED-1 tidak akan diatur karena fungsi and() mengembalikan nilai salah.

or

Tabel berikut menjabarkan detail fungsi ini.

Item

Deskripsi

Sintaks

or(arg, ...)

Deskripsi

  • Menjalankan operator logika OR.

  • Evaluasi singkat didukung. Ketika sebuah nilai dievaluasi menjadi benar, nilai-nilai yang mengikuti nilai tersebut tidak akan dievaluasi.

Parameter

Nilai yang ingin Anda periksa. Anda dapat menentukan satu atau lebih nilai. Tipe data: semua tipe.

Nilai Kembalian

Mengembalikan true jika sebuah nilai dievaluasi menjadi benar dan mengembalikan false jika semua nilai dievaluasi menjadi salah.

Contoh

if and($http_from, or(eq($http_from, 'wap'), eq($http_from, 'comos'))) {
    rewrite(concat('http://example.com.cn/zt_d/we2015/', $http_from), 'enhance_redirect')
}
  • Jika permintaan mencakup header From dan nilainya adalah wap atau comos, kode status HTTP 302 dikembalikan dan permintaan dialihkan ke http://example.com.cn/zt_d/we2015/[wap|comos].

  • Jika permintaan mencakup header From dan nilainya adalah wap, evaluasi singkat berlaku dan nilai comos diabaikan. Fungsi or() mengembalikan nilai benar.

not

Tabel berikut menjabarkan detail fungsi ini.

Item

Deskripsi

Sintaks

not(arg)

Deskripsi

Menjalankan operator logika NOT. Nilai undef dan false dievaluasi menjadi salah, dan nilai lainnya dievaluasi menjadi benar.

Parameter

Nilai yang ingin Anda periksa. Anda hanya dapat menentukan satu nilai. Tipe data: semua tipe.

Nilai Kembalian

  • true

  • false

Contoh

if not($arg_key) {
    exit(403)
}
if not($cookie_user) {
    exit(403, 'not cookie user')
}
if not(0) {
    exit(403)
}
if not(false) {
    exit(403)
}
  • Jika permintaan tidak mencakup parameter key, permintaan ditolak dan kode status HTTP 403 dikembalikan.

  • Jika permintaan tidak mencakup cookie_user, permintaan ditolak. Kode status HTTP 403 dan badan respons "not cookie user" dikembalikan.

  • Fungsi not(0) mengembalikan nilai salah.

  • Fungsi not(false) mengembalikan nilai benar.

eq

Tabel berikut menjabarkan detail fungsi ini.

Item

Deskripsi

Sintaks

eq(arg1, arg2)

Deskripsi

Membandingkan apakah dua nilai sama.

Parameter

  • arg1: nilai pertama untuk dibandingkan. Tipe data: semua tipe.

  • arg2: nilai kedua untuk dibandingkan. Tipe data: sama dengan parameter arg1.

Nilai Kembalian

Mengembalikan true jika kedua nilai sama dan mengembalikan false jika mereka tidak sama.

Contoh

key1 = 'value1'
key2 = 'value2'
if and($arg_k1, $arg_k2, eq(key1, $arg_k1), ne(key2, $arg_k2)) {
    say('match condition')
}
  • Jika permintaan mencakup parameter k1 dan k2, operasi perbandingan dilakukan.

  • Jika permintaan tidak mencakup parameter k1 atau k2, evaluasi singkat berlaku dan operasi perbandingan tidak dilakukan.

  • eq: apakah nilai parameter k1 sama dengan value1.

  • ne: apakah nilai parameter k2 tidak sama dengan value2.

  • Respons yang mencakup badan respons "match condition" hanya dikembalikan jika kondisi berikut terpenuhi: permintaan mencakup parameter k1 dan k2, nilai parameter k1 sama dengan value1, dan nilai parameter k2 tidak sama dengan value2.

ne

Tabel berikut menjabarkan detail fungsi ini.

Item

Deskripsi

Sintaks

ne(arg1, arg2)

Deskripsi

Membandingkan apakah dua nilai tidak sama.

Parameter

  • arg1: nilai pertama untuk dibandingkan. Tipe data: semua tipe.

  • arg2: nilai kedua untuk dibandingkan. Tipe data: sama dengan parameter arg1.

Nilai Kembalian

Mengembalikan true jika kedua nilai tidak sama dan mengembalikan false jika mereka sama.

Contoh

key1 = 'value1'
key2 = 'value2'
if and($arg_k1, $arg_k2, eq(key1, $arg_k1), ne(key2, $arg_k2)) {
    say('match condition')
}
  • Jika permintaan mencakup parameter k1 dan k2, operasi perbandingan dilakukan.

  • Jika permintaan tidak mencakup parameter k1 atau k2, evaluasi singkat berlaku dan operasi perbandingan tidak dilakukan.

  • eq: apakah nilai parameter k1 sama dengan value1.

  • ne: apakah nilai parameter k2 tidak sama dengan value2.

  • Respons yang mencakup badan respons "match condition" hanya dikembalikan jika kondisi berikut terpenuhi: permintaan mencakup parameter k1 dan k2, nilai parameter k1 sama dengan value1, dan nilai parameter k2 tidak sama dengan value2.

null

Tabel berikut menjabarkan detail fungsi ini.

Item

Deskripsi

Sintaks

null(v)

Deskripsi

Memeriksa apakah tipe data telah ditentukan untuk EdgeScript (ES).

Parameter

v: parameter untuk diteruskan. Tipe data: array, dictionary, atau string. Nilai salah dikembalikan untuk tipe data lainnya.

Nilai Kembalian

Tipe data: Boolean.

  • Nilai benar dikembalikan jika nilai v adalah array atau dictionary.

  • Nilai benar dikembalikan jika nilai v adalah string kosong.

  • Nilai salah dikembalikan jika v disetel ke tipe data lainnya.

Contoh

d = []
say(null(d))
set(d, 1, 'v1')
say(null(d))
say(tostring(null('x')))
say(tostring(null('')))

Keluaran:

true
false
false
true