全部产品
Search
文档中心

ApsaraVideo VOD:Fungsi logika

更新时间:Jul 02, 2025

Topik ini menjelaskan sintaks, deskripsi, parameter, nilai balikan, serta memberikan contoh dari fungsi logika.

and

Tabel berikut menampilkan detail tentang fungsi ini.
ItemDeskripsi
Sintaksand(arg, ...)
Manfaat
  • Menjalankan operator logika AND.
  • Evaluasi singkat didukung. Ketika sebuah nilai dievaluasi sebagai salah, nilai-nilai setelah nilai tersebut tidak akan dievaluasi.
ParameterNilai yang ingin Anda periksa. Anda dapat menentukan satu atau lebih nilai. Tipe data: semua tipe.
Nilai balikanMengembalikan true jika semua nilai dievaluasi sebagai benar dan mengembalikan false jika sebuah nilai dievaluasi sebagai salah.
Contoh
if and($arg_mode, eq($arg_mode, 'set_header')) {
   add_rsp_header('USER-DEFINED-1','path1')
}
  • a. Jika permintaan mencakup parameter mode dan nilai dari parameter mode adalah set_header, atur header respons USER-DEFINED-1.
  • b. 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 menampilkan detail tentang fungsi ini.
ItemDeskripsi
Sintaksor(arg, ...)
Deskripsi
  • Menjalankan operator logika OR.
  • Evaluasi singkat didukung. Ketika sebuah nilai dievaluasi sebagai benar, nilai-nilai setelah nilai tersebut tidak akan dievaluasi.
ParameterNilai yang ingin Anda periksa. Anda dapat menentukan satu atau lebih nilai. Tipe data: semua tipe.
Nilai balikanMengembalikan true jika sebuah nilai dievaluasi sebagai benar dan mengembalikan false jika semua nilai dievaluasi sebagai 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')
}
  • a. 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].
  • b. Jika permintaan mencakup header From dan nilainya adalah wap, evaluasi singkat berlaku dan nilai comos diabaikan. Fungsi or() mengembalikan nilai benar.

not

Tabel berikut menampilkan detail tentang fungsi ini.
ItemDeskripsi
Sintaksnot(arg)
DeskripsiMenjalankan operator logika NOT. Nilai dari undef dan false dievaluasi sebagai salah, dan nilai lainnya dievaluasi sebagai benar.
ParameterNilai yang ingin Anda periksa. Anda hanya dapat menentukan satu nilai. Tipe data: semua tipe.
Nilai balikan
  • 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 menampilkan detail tentang fungsi ini.
ItemDeskripsi
Sintakseq(arg1, arg2)
DeskripsiMembandingkan 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 balikanMengembalikan 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')
}
  • a. Jika permintaan mencakup parameter k1 dan k2, operasi perbandingan dilakukan.
  • b. Jika permintaan tidak mencakup parameter k1 atau k2, evaluasi singkat berlaku dan operasi perbandingan tidak dilakukan.
  • eq: c. eq: apakah nilai parameter k1 sama dengan value1.
  • ne: d. ne: apakah nilai parameter k2 tidak sama dengan value2.
  • e. 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 menampilkan detail tentang fungsi ini.
ItemDeskripsi
Sintaksne(arg1, arg2)
DeskripsiMembandingkan 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 balikanMengembalikan 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')
}
  • a. Jika permintaan mencakup parameter k1 dan k2, operasi perbandingan dilakukan.
  • b. Jika permintaan tidak mencakup parameter k1 atau k2, evaluasi singkat berlaku dan operasi perbandingan tidak dilakukan.
  • eq: c. eq: apakah nilai parameter k1 sama dengan value1.
  • ne: d. ne: apakah nilai parameter k2 tidak sama dengan value2.
  • e. 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 menampilkan detail tentang fungsi ini.
ItemDeskripsi
Sintaksnull(v)
ManfaatMemeriksa apakah tipe data telah ditentukan untuk EdgeScript (ES).
Diajukanv: parameter untuk dilewatkan. Tipe data: array, kamus, atau string. Nilai salah dikembalikan untuk tipe data lainnya.
Nilai balikanTipe data: Boolean.
  • Nilai benar dikembalikan jika nilai v adalah array atau kamus.
  • 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('')))
Output:
true
false
false
true