Avatar billede jenskf5 Nybegynder
10. marts 2002 - 13:20 Der er 14 kommentarer og
1 løsning

Check om element i array eksisterer?

Hej

Jeg ville prøve om jeg kunne checke om et element i en array eksisterede, så derfor skrev jeg:

if MyArray(0) = "true" Then response.write MyArray(0)

Men det virkede ikke - hvordan gør man så?
Avatar billede rune_c Nybegynder
10. marts 2002 - 13:24 #1
prøv med:

if MyArray[0] <> "" Then response.write MyArray[0]
Avatar billede rune_c Nybegynder
10. marts 2002 - 13:27 #2
eller:

if IsEmpty(MyArray[0]) Then response.write MyArray[0]
Avatar billede rune_c Nybegynder
10. marts 2002 - 13:28 #3
if IsEmpty(MyArray[0]) = False Then response.write MyArray[0]
Avatar billede jenskf5 Nybegynder
10. marts 2002 - 13:30 #4
Den siger:
if IsEmpty(MyArray[0]) Then response.write MyArray[0]
-----------------^
Expected ')'
Avatar billede jenskf5 Nybegynder
10. marts 2002 - 13:32 #5
if MyArray[0] <> "" Then response.write MyArray[0]
---------^
Expected 'Then'
Avatar billede rune_c Nybegynder
10. marts 2002 - 13:34 #6
er myarray en array?
Avatar billede jenskf5 Nybegynder
10. marts 2002 - 13:36 #7
<%
'MyString er f.eks. lig med "An Age of Miracles", "National Press Club Video""

Dim MyString, MyArray
MyString = Request.QueryString("videotitler")

MyArray = Split(MyString, ",", -1, 1)
if MyArray[0] <> "" Then response.write MyArray[0]
if MyArray[1] <> "" Then response.write MyArray[1]
if MyArray[2] <> "" Then response.write MyArray[2]
%>
Avatar billede rune_c Nybegynder
10. marts 2002 - 13:36 #8
if IsEmpty(MyArray(0)) = False Then response.write MyArray(0)

bruger normalt JScript hvor man bruger []
Avatar billede jenskf5 Nybegynder
10. marts 2002 - 13:38 #9
Ved dit sidste forslag siger den:
Subscript out of range: '[number: 2]'

Men det var jo det, som... if IsEmpty(MyArray(2)) = False Then response.write MyArray(2)... skulle finde ud af for mig!?
Avatar billede rune_c Nybegynder
10. marts 2002 - 13:42 #10
<%
'MyString er f.eks. lig med "An Age of Miracles", "National Press Club Video""

Dim MyString, MyArray, bound, i
MyString = Request.QueryString("videotitler")

MyArray = Split(MyString, ",", -1, 1)

bound = ubound(myarray)

for i = 0 to bound - 1
  if isempty(myarray(i)) = false then response.write myarray(i) & "<br>"
next
%>
Avatar billede jenskf5 Nybegynder
10. marts 2002 - 13:47 #11
Det virker næsten, dog udskriver den ikke det sidste element, hvis man f.eks. skriver:
http://localhost/sharedanmark/multimedia/video/test.asp?videotitler="An+Age+of+Miracles",+"National+Press+Club+Video",+"Sjov","Mere%20sjov"

Bliver resultatet kun (dvs. at "Mere sjov" kommer ikke med):
"An Age of Miracles"
"National Press Club Video"
"Sjov"

Hvorfor?
Avatar billede rune_c Nybegynder
10. marts 2002 - 13:50 #12
<%
'MyString er f.eks. lig med "An Age of Miracles", "National Press Club Video""

Dim MyString, MyArray, bound, i
MyString = Request.QueryString("videotitler")

MyArray = Split(MyString, ",", -1, 1)

bound = ubound(myarray)

for i = 0 to bound
  if isempty(myarray(i)) = false then response.write myarray(i) & "<br>"
next
%>
Avatar billede jenskf5 Nybegynder
10. marts 2002 - 13:51 #13
SÅDAN!!! Det virker. Mange tak for hjælpen! :-)
Avatar billede rune_c Nybegynder
10. marts 2002 - 13:56 #14
det er egentligt lidt latterligt af bruge en isempty på en array lavet med spilt da der aldrig vil være en tom en - kun er tom string. Hvis du skriver response.write isempty("") får du false. Hvis der ikke er mulighed for:

http://localhost/sharedanmark/multimedia/video/test.asp?videotitler="An+Age+of+Miracles",+"",+"Sjov","Mere%20sjov"

altså et sted hvor der intet står (en tom string) skal du bruge nedenstående kode

<%
'MyString er f.eks. lig med "An Age of Miracles", "National Press Club Video""

Dim MyString, MyArray, i
MyString = Request.QueryString("videotitler")

MyArray = Split(MyString, ",", -1, 1)

for i = lbound(myarray) to ubound(myarray)
  response.write myarray(i) & "<br>"
next
%>

ellers:

<%
'MyString er f.eks. lig med "An Age of Miracles", "National Press Club Video""

Dim MyString, MyArray, i
MyString = Request.QueryString("videotitler")

MyArray = Split(MyString, ",", -1, 1)

for i = lbound(myarray) to ubound(myarray)
  if myarray(i) <> "" then response.write myarray(i) & "<br>"
next
%>
Avatar billede jenskf5 Nybegynder
10. marts 2002 - 14:04 #15
Ja, det har du ret i. Det er nu opdateret i min kode. Endnu en gang tak for hjælpen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester